Issue 4 - merge in Herman Rodgers branch - alot of work in it

So branching to new branch, and will merge my changes from itsmeg ontop

will merge branch back to head once everyone happy its stable.
This commit is contained in:
DobyTang 2013-06-06 22:18:27 +01:00
parent cc534682b6
commit 7087af08d7
268 changed files with 21573 additions and 952 deletions

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSUIElement</key>
<string>1</string>
<key>CFBundleAllowMixedLocalizations</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>applet</string>
<key>CFBundleIconFile</key>
<string>applet</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>MovieManager</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>aplt</string>
<key>LSMinimumSystemVersionByArchitecture</key>
<dict>
<key>x86_64</key>
<string>10.6</string>
</dict>
<key>LSRequiresCarbon</key>
<true/>
<key>WindowState</key>
<dict>
<key>dividerCollapsed</key>
<false/>
<key>eventLogLevel</key>
<integer>-1</integer>
<key>name</key>
<string>ScriptWindowState</string>
<key>positionOfDivider</key>
<real>333</real>
<key>savedFrame</key>
<string>85 111 602 597 0 0 1280 778 </string>
<key>selectedTabView</key>
<string>event log</string>
</dict>
</dict>
</plist>

Binary file not shown.

View File

@ -0,0 +1 @@
APPLaplt

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

View File

@ -0,0 +1,4 @@
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
{\fonttbl}
{\colortbl;\red255\green255\blue255;}
}

8
LazyLibrarian.py Normal file → Executable file
View File

@ -5,10 +5,9 @@ import lazylibrarian
from lazylibrarian import webStart, logger
def main():
#DIFFEREMT
# rename this thread
threading.currentThread().name = "MAIN"
# Set paths
if hasattr(sys, 'frozen'):
lazylibrarian.FULL_PATH = os.path.abspath(sys.executable)
@ -30,6 +29,11 @@ def main():
if not lazylibrarian.SYS_ENCODING or lazylibrarian.SYS_ENCODING in ('ANSI_X3.4-1968', 'US-ASCII', 'ASCII'):
lazylibrarian.SYS_ENCODING = 'UTF-8'
#check the version when the application starts
from lazylibrarian import versioncheck
lazylibrarian.CURRENT_VERSION = versioncheck.getVersion()
LATEST_VERSION = versioncheck.checkGithub()
# Set arguments
from optparse import OptionParser

View File

@ -1,71 +1,48 @@
## LazyLibrarian
#### Contributers
* Current author: LibrarianMike
* Original author: Mar2zz
* Previous maintainer: itsmegb
#### IMPORTANT UPDATE
As Mar2zz can no longer maintain LazyLibrarian, i have taken over.
I don't have a lot of free time, but i will try my best to get a usable application.
itsmegb
#### PLEASE READ THE FOLLOWING
Due to personal reasons I can't find the time anymore to work on this project. If you like it and know you way around in python, create a master repo of this for yourself and continue developing. Sometimes I have some minutes to spare, so I will contribute to your repo, but between now and a year ahead I am too busy with other projects that consume all 'spare' time that I have. So if you like to be master of a gitproject, feel free to use LazyLibrarian for it. When someone else has started developing in another repo I will delete this one and clone the other repo here.
To create a masterrepo: clone lazylibrarian into a folder, delete the .git folder inside and follow the normal instructions to start/upload your own repo.
#### IMPORTANT
Author: Mar2zz
Blogs: mar2zz.tweakblogs.net
License: GNU GPL v3
LazyLibrarian is a program to follow authors and grab metadata for all your digital reading needs. It uses the extensive GoogleBooks (for bookinfo) and Goodreads.com (for authorinfo) websites as a source, but I'd like to write locales too (like bol.com for dutch info. Other languages need to be added by others).
Feel free to post issues and featurerequests @ https://github.com/Mar2zz/LazyLibrarian/issues,
though I am aware of the many bugs right now, and am solving them one at a time, LL is very alpha, so use at own risk!.
There may be many non working options/links during this Work In Progress-stage.
If you know css very well, feel free to change the look by adding pull-requests, I am aware of the fact that it is one ugly monstrous webapp right now
##Screenshot
<img src="http://tweakers.net/ext/f/nRWbGC8qWH2y2BqYNVHUJuIn/full.png" width="800">
<img src="http://tweakers.net/ext/f/4gmyYa6Wf8zcd0WpbanIGFwl/full.png" width="800">
Yes, it looks like headphones, that's because I am using it's datatables also for generating booktables. I also copied a lot of code from Headphones, CouchPotato and Sickbeard. I am learning python, so I hope my coding will become better with practice (consider when you laugh out loud about my code that I didn't know any python a few months ago)... Taking babysteps ;)
#### LazyLibrarian
LazyLibrarian is a program to follow authors and grab metadata for all your digital reading needs.
It uses Goodreads.com (for author info and book info) websites as a source. License: GNU GPL v3
Right now its capable of the following:
* find authors or books and add them to the database
* list all books of an author and add them as 'wanted'.
* LazyLibrarian will search a nzb-file for that book (only Newznab supported (e.g. nzb.su)
* Find authors and add them to the database
* List all books of an author and add them as 'wanted'.
* LazyLibrarian will search a nzb-file for that book (only Newznab and nzbmatrix are currently supported)
* If a nzb is found it will be send to sabnzbd or saved in a blackhole where your downloadapp can pick it up.
* When processing the downloaded books it will save a coverpicture (if available) and save all metadata into metadata.opf next to the bookfile (calibre compatible format)
* The new theme for the site allows it to be accessed (and usable) from devices with a smaller screen (such as an iPad)
##Screenshots
<img src="http://i.imgur.com/O8awy.png" width="600">
<img src="http://i.imgur.com/fr0yE.png" width="600">
<img src="http://i.imgur.com/AOgh1.png" width="600">
## Install:
LazyLibrarian runs by default @ port 5299 at http://hostname:5299/home.
LazyLibrarian runs by default on port 8082 at http://localhost:8082/
Linux:
Linux / Mac OS X:
* Install Python 2.6 or higher
* Git clone/extract LL wherever you like
* Run "python LazyLibrarian.py -daemon" to start in deamon mode
* Set your username & password in the settings if you want.
* Fill in all the config stuff
* Run "python LazyLibrarian.py -d" to start in deamon mode
* Fill in all the config fields
Windows:
* Install Python 2.6 or higher
* Double-click the Headphones.py file (you may need to right click and click 'Open With' -> Python)
* Fill in all the config fields
Ubuntu (init.d script):
* Copy "initd.ubuntu" to /etc/init.d/lazylibrarian - > "sudo cp initd.ubuntu /etc/init.d/lazylibrarian"
* Copy "default.ubuntu" to /etc/default/lazylibrarian - > "sudo cp default.ubuntu /etc/default/lazylibrarian"
* Edit the required daemon settings in /etc/default/lazylibrarian - > editor /etc/default/lazylibrarian
* If your LL installation isn't in "/opt/lazylibrarian/", make sure to change the path there also!
* Make executable "sudo chmod a+x /etc/init.d/lazylibrarian"
* Add it to the startup items: "sudo update-rc.d lazylibrarian defaults"
* Start with "sudo service lazylibrarian start"
## Update
Just run git pulls, build a update-through-interface soon enough.
## Remarks
Need an logo/favicon/icon badly. Made a temporary one. If you feel creative, go ahead.
* Copy "ubuntu.initd" to /etc/init.d/lazylibrarian - > "sudo cp ubuntu.initd /etc/init.d/lazylibrarian"
* Copy "default.ubuntu" to /etc/default/lazylibrarian - > "sudo cp default.ubuntu /etc/default/lazylibrarian"
* Edit the required daemon settings in /etc/default/lazylibrarian - > editor /etc/default/lazylibrarian
* If your LL installation isn't in "/opt/lazylibrarian/", make sure to change the path there also!
* Make executable "sudo chmod a+x /etc/init.d/lazylibrarian"
* Add it to the startup items: "sudo update-rc.d lazylibrarian defaults"
* Start with "sudo service lazylibrarian start"

0
cherrypy/LICENSE.txt Normal file → Executable file
View File

0
cherrypy/__init__.py Normal file → Executable file
View File

0
cherrypy/_cpchecker.py Normal file → Executable file
View File

0
cherrypy/_cpcompat.py Normal file → Executable file
View File

0
cherrypy/_cpconfig.py Normal file → Executable file
View File

0
cherrypy/_cpdispatch.py Normal file → Executable file
View File

2
cherrypy/_cperror.py Normal file → Executable file
View File

@ -202,7 +202,7 @@ class HTTPRedirect(CherryPyException):
# 2. a URL relative to root (e.g. "/dummy")
# 3. a URL relative to the current path
# Note that any query string in cherrypy.request is discarded.
url = _urljoin(cherrypy.url(), url)
# url = _urljoin(cherrypy.url(), url)
abs_urls.append(url)
self.urls = abs_urls

0
cherrypy/_cplogging.py Normal file → Executable file
View File

0
cherrypy/_cpmodpy.py Normal file → Executable file
View File

0
cherrypy/_cpnative_server.py Normal file → Executable file
View File

0
cherrypy/_cpreqbody.py Normal file → Executable file
View File

0
cherrypy/_cprequest.py Normal file → Executable file
View File

0
cherrypy/_cpserver.py Normal file → Executable file
View File

0
cherrypy/_cpthreadinglocal.py Normal file → Executable file
View File

0
cherrypy/_cptools.py Normal file → Executable file
View File

0
cherrypy/_cptree.py Normal file → Executable file
View File

0
cherrypy/_cpwsgi.py Normal file → Executable file
View File

0
cherrypy/_cpwsgi_server.py Normal file → Executable file
View File

0
cherrypy/favicon.ico Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

0
cherrypy/lib/__init__.py Normal file → Executable file
View File

0
cherrypy/lib/auth.py Normal file → Executable file
View File

0
cherrypy/lib/auth_basic.py Normal file → Executable file
View File

0
cherrypy/lib/auth_digest.py Normal file → Executable file
View File

0
cherrypy/lib/caching.py Normal file → Executable file
View File

0
cherrypy/lib/covercp.py Normal file → Executable file
View File

0
cherrypy/lib/cpstats.py Normal file → Executable file
View File

0
cherrypy/lib/cptools.py Normal file → Executable file
View File

0
cherrypy/lib/encoding.py Normal file → Executable file
View File

0
cherrypy/lib/http.py Normal file → Executable file
View File

0
cherrypy/lib/httpauth.py Normal file → Executable file
View File

0
cherrypy/lib/httputil.py Normal file → Executable file
View File

0
cherrypy/lib/jsontools.py Normal file → Executable file
View File

0
cherrypy/lib/profiler.py Normal file → Executable file
View File

0
cherrypy/lib/reprconf.py Normal file → Executable file
View File

0
cherrypy/lib/sessions.py Normal file → Executable file
View File

0
cherrypy/lib/static.py Normal file → Executable file
View File

0
cherrypy/lib/xmlrpc.py Normal file → Executable file
View File

0
cherrypy/process/__init__.py Normal file → Executable file
View File

0
cherrypy/process/plugins.py Normal file → Executable file
View File

0
cherrypy/process/servers.py Normal file → Executable file
View File

0
cherrypy/process/win32.py Normal file → Executable file
View File

0
cherrypy/process/wspbus.py Normal file → Executable file
View File

0
cherrypy/scaffold/__init__.py Normal file → Executable file
View File

0
cherrypy/scaffold/apache-fcgi.conf Normal file → Executable file
View File

0
cherrypy/scaffold/example.conf Normal file → Executable file
View File

0
cherrypy/scaffold/site.conf Normal file → Executable file
View File

0
cherrypy/scaffold/static/made_with_cherrypy_small.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

0
cherrypy/test/__init__.py Normal file → Executable file
View File

0
cherrypy/test/_test_decorators.py Normal file → Executable file
View File

0
cherrypy/test/_test_states_demo.py Normal file → Executable file
View File

0
cherrypy/test/benchmark.py Normal file → Executable file
View File

0
cherrypy/test/checkerdemo.py Normal file → Executable file
View File

0
cherrypy/test/fastcgi.conf Normal file → Executable file
View File

0
cherrypy/test/fcgi.conf Normal file → Executable file
View File

0
cherrypy/test/helper.py Normal file → Executable file
View File

0
cherrypy/test/logtest.py Normal file → Executable file
View File

0
cherrypy/test/modfastcgi.py Normal file → Executable file
View File

0
cherrypy/test/modfcgid.py Normal file → Executable file
View File

0
cherrypy/test/modpy.py Normal file → Executable file
View File

0
cherrypy/test/modwsgi.py Normal file → Executable file
View File

0
cherrypy/test/native-server.ini Normal file → Executable file
View File

0
cherrypy/test/static/dirback.jpg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

0
cherrypy/test/static/index.html Normal file → Executable file
View File

0
cherrypy/test/style.css Normal file → Executable file
View File

0
cherrypy/test/test.pem Normal file → Executable file
View File

0
cherrypy/test/test_auth_basic.py Normal file → Executable file
View File

0
cherrypy/test/test_auth_digest.py Normal file → Executable file
View File

0
cherrypy/test/test_bus.py Normal file → Executable file
View File

0
cherrypy/test/test_caching.py Normal file → Executable file
View File

0
cherrypy/test/test_config.py Normal file → Executable file
View File

0
cherrypy/test/test_config_server.py Normal file → Executable file
View File

0
cherrypy/test/test_conn.py Normal file → Executable file
View File

0
cherrypy/test/test_core.py Normal file → Executable file
View File

0
cherrypy/test/test_dynamicobjectmapping.py Normal file → Executable file
View File

0
cherrypy/test/test_encoding.py Normal file → Executable file
View File

0
cherrypy/test/test_etags.py Normal file → Executable file
View File

0
cherrypy/test/test_http.py Normal file → Executable file
View File

0
cherrypy/test/test_httpauth.py Normal file → Executable file
View File

0
cherrypy/test/test_httplib.py Normal file → Executable file
View File

0
cherrypy/test/test_json.py Normal file → Executable file
View File

0
cherrypy/test/test_logging.py Normal file → Executable file
View File

0
cherrypy/test/test_mime.py Normal file → Executable file
View File

0
cherrypy/test/test_misc_tools.py Normal file → Executable file
View File

0
cherrypy/test/test_objectmapping.py Normal file → Executable file
View File

0
cherrypy/test/test_proxy.py Normal file → Executable file
View File

0
cherrypy/test/test_refleaks.py Normal file → Executable file
View File

0
cherrypy/test/test_request_obj.py Normal file → Executable file
View File

0
cherrypy/test/test_routes.py Normal file → Executable file
View File

0
cherrypy/test/test_sessionauthenticate.py Normal file → Executable file
View File

0
cherrypy/test/test_states.py Normal file → Executable file
View File

0
cherrypy/test/test_static.py Normal file → Executable file
View File

Some files were not shown because too many files have changed in this diff Show More