version 0.4.101

This commit is contained in:
Kovid Goyal 2008-10-30 20:56:59 -07:00
parent 94b3ba12f8
commit d03b2be8d7
5 changed files with 32 additions and 8 deletions

View File

@ -2,7 +2,7 @@ __license__ = 'GPL v3'
__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
__docformat__ = 'restructuredtext en'
__appname__ = 'calibre'
__version__ = '0.4.100'
__version__ = '0.4.101'
__author__ = "Kovid Goyal <kovid@kovidgoyal.net>"
'''
Various run time constants.

View File

@ -78,7 +78,7 @@
<item>
<widget class="QStackedWidget" name="stackedWidget" >
<property name="currentIndex" >
<number>1</number>
<number>0</number>
</property>
<widget class="QWidget" name="page_3" >
<layout class="QVBoxLayout" name="verticalLayout" >
@ -86,6 +86,12 @@
<layout class="QVBoxLayout" name="_2" >
<item>
<widget class="QLabel" name="label" >
<property name="maximumSize" >
<size>
<width>16777215</width>
<height>70</height>
</size>
</property>
<property name="text" >
<string>&amp;Location of ebooks (The ebooks are stored in folders sorted by author and metadata is stored in the file metadata.db)</string>
</property>

View File

@ -7,10 +7,11 @@ __docformat__ = 'restructuredtext en'
HTTP server for remote access to the calibre database.
'''
import sys
import sys, logging
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
from calibre.constants import __version__
from calibre.utils.config import StringConfig, Config
class Server(HTTPServer):
pass
@ -21,19 +22,35 @@ class DBHandler(BaseHTTPRequestHandler):
def set_db(self, db):
self.db = db
self.l = logging.getLogger('calibre.server')
self.l.info('calibre-server starting...')
def server(db, port=80):
server = Server(('', port), DBHandler)
def server(db, opts):
return Server(('', opts.port), DBHandler)
def config(defaults=None):
desc=_('Settings to control the calibre content server')
c = Config('server', desc) if defaults is None else StringConfig(defaults, desc)
c.add_opt('port', ['-p', '--port'], default=8080,
help=_('The port on which to listen. Default is %default'))
return c
def option_parser():
return config().option_parser('%prog '+ _('[options]\n\nStart the calibre content server.'))
def main(args=sys.argv):
parser = option_parser()
opts, args = parser.parse_args(args)
from calibre.utils.config import prefs
from calibre.library.database2 import LibraryDatabase2
db = LibraryDatabase2(prefs['library_path'])
try:
print 'Starting server...'
s = server()
s.server_forever()
s = server(db, opts)
s.serve_forever()
except KeyboardInterrupt:
print 'Server interrupted'
s.socket.close()

View File

@ -37,6 +37,7 @@ entry_points = {
'rtf2lrf = calibre.ebooks.lrf.rtf.convert_from:main',
'web2disk = calibre.web.fetch.simple:main',
'feeds2disk = calibre.web.feeds.main:main',
'calibre-server = calibre.library.server:main',
'feeds2lrf = calibre.ebooks.lrf.feeds.convert_from:main',
'feeds2epub = calibre.ebooks.epub.from_feeds:main',
'web2lrf = calibre.ebooks.lrf.web.convert_from:main',

View File

@ -502,7 +502,7 @@ class BasicNewsRecipe(object, LoggingInterface):
head = soup.find('body')
if not head:
head = soup.find(True)
style = BeautifulSoup(u'<style type="text/css" title="override_css">%s</style>'%(self.template_css +'\n\n'+self.extra_css)).find('style')
style = BeautifulSoup(u'<style type="text/css" title="override_css">%s</style>'%(self.template_css +'\n\n'+(self.extra_css if self.extra_css else ''))).find('style')
head.insert(len(head.contents), style)
if first_fetch and job_info:
url, f, a, feed_len = job_info