mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Sync to trunk.
This commit is contained in:
commit
8c745579ae
@ -2,7 +2,7 @@ __license__ = 'GPL v3'
|
|||||||
__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
|
__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
|
||||||
__docformat__ = 'restructuredtext en'
|
__docformat__ = 'restructuredtext en'
|
||||||
__appname__ = 'calibre'
|
__appname__ = 'calibre'
|
||||||
__version__ = '0.6.0b17'
|
__version__ = '0.6.0'
|
||||||
__author__ = "Kovid Goyal <kovid@kovidgoyal.net>"
|
__author__ = "Kovid Goyal <kovid@kovidgoyal.net>"
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
@ -109,6 +109,10 @@ class InputFormatPlugin(Plugin):
|
|||||||
#: convenience method, :method:`get_image_collection`.
|
#: convenience method, :method:`get_image_collection`.
|
||||||
is_image_collection = False
|
is_image_collection = False
|
||||||
|
|
||||||
|
#: If set to True, the input plugin will perform special processing
|
||||||
|
#: to make its output suitable for viewing
|
||||||
|
for_viewer = False
|
||||||
|
|
||||||
#: Options shared by all Input format plugins. Do not override
|
#: Options shared by all Input format plugins. Do not override
|
||||||
#: in sub-classes. Use :member:`options` instead. Every option must be an
|
#: in sub-classes. Use :member:`options` instead. Every option must be an
|
||||||
#: instance of :class:`OptionRecommendation`.
|
#: instance of :class:`OptionRecommendation`.
|
||||||
|
@ -571,6 +571,7 @@ class Device(DeviceConfig, DevicePlugin):
|
|||||||
|
|
||||||
def eject_linux(self):
|
def eject_linux(self):
|
||||||
drives = self.find_device_nodes()
|
drives = self.find_device_nodes()
|
||||||
|
success = False
|
||||||
for drive in drives:
|
for drive in drives:
|
||||||
if drive:
|
if drive:
|
||||||
cmd = ['pumount', '-l']
|
cmd = ['pumount', '-l']
|
||||||
@ -580,15 +581,20 @@ class Device(DeviceConfig, DevicePlugin):
|
|||||||
pass
|
pass
|
||||||
while p.poll() is None:
|
while p.poll() is None:
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
if p.returncode == 0:
|
success = success or p.returncode == 0
|
||||||
for x in ('_main_prefix', '_card_a_prefix', '_card_b_prefix'):
|
try:
|
||||||
x = getattr(self, x, None)
|
subprocess.Popen(['sudo', 'eject', drive])
|
||||||
if x is not None:
|
except:
|
||||||
if x.startswith('/media/') and os.path.exists(x):
|
pass
|
||||||
try:
|
for x in ('_main_prefix', '_card_a_prefix', '_card_b_prefix'):
|
||||||
shutil.rmtree(x)
|
x = getattr(self, x, None)
|
||||||
except:
|
if x is not None:
|
||||||
pass
|
if x.startswith('/media/') and os.path.exists(x) \
|
||||||
|
and not os.listdir(x):
|
||||||
|
try:
|
||||||
|
shutil.rmtree(x)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def eject(self):
|
def eject(self):
|
||||||
|
@ -53,7 +53,6 @@ class EPUBInput(InputFormatPlugin):
|
|||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def rationalize_cover(self, opf, log):
|
def rationalize_cover(self, opf, log):
|
||||||
guide_cover, guide_elem = None, None
|
guide_cover, guide_elem = None, None
|
||||||
for guide_elem in opf.iterguide():
|
for guide_elem in opf.iterguide():
|
||||||
@ -78,7 +77,8 @@ class EPUBInput(InputFormatPlugin):
|
|||||||
|
|
||||||
# Remove from spine as covers must be treated
|
# Remove from spine as covers must be treated
|
||||||
# specially
|
# specially
|
||||||
spine[0].getparent().remove(spine[0])
|
if not self.for_viewer:
|
||||||
|
spine[0].getparent().remove(spine[0])
|
||||||
guide_elem.set('href', 'calibre_raster_cover.jpg')
|
guide_elem.set('href', 'calibre_raster_cover.jpg')
|
||||||
from calibre.ebooks.oeb.base import OPF
|
from calibre.ebooks.oeb.base import OPF
|
||||||
t = etree.SubElement(elem[0].getparent(), OPF('item'),
|
t = etree.SubElement(elem[0].getparent(), OPF('item'),
|
||||||
|
@ -1891,6 +1891,12 @@ def process_file(path, options, logger):
|
|||||||
if options.header:
|
if options.header:
|
||||||
header = Paragraph()
|
header = Paragraph()
|
||||||
fheader = options.headerformat
|
fheader = options.headerformat
|
||||||
|
if not options.title:
|
||||||
|
options.title = _('Unknown')
|
||||||
|
if not options.author:
|
||||||
|
options.author = _('Unknown')
|
||||||
|
if not fheader:
|
||||||
|
fheader = "%t by %a"
|
||||||
fheader = re.sub(r'(?<!%)%t', options.title, fheader)
|
fheader = re.sub(r'(?<!%)%t', options.title, fheader)
|
||||||
fheader = re.sub(r'(?<!%)%a', options.author, fheader)
|
fheader = re.sub(r'(?<!%)%a', options.author, fheader)
|
||||||
fheader = re.sub(r'%%a','%a',fheader)
|
fheader = re.sub(r'%%a','%a',fheader)
|
||||||
|
@ -15,7 +15,7 @@ from lxml import etree
|
|||||||
from dateutil import parser
|
from dateutil import parser
|
||||||
|
|
||||||
from calibre.ebooks.chardet import xml_to_unicode
|
from calibre.ebooks.chardet import xml_to_unicode
|
||||||
from calibre.constants import __appname__, __version__
|
from calibre.constants import __appname__, __version__, filesystem_encoding
|
||||||
from calibre.ebooks.metadata.toc import TOC
|
from calibre.ebooks.metadata.toc import TOC
|
||||||
from calibre.ebooks.metadata import MetaInformation, string_to_authors
|
from calibre.ebooks.metadata import MetaInformation, string_to_authors
|
||||||
|
|
||||||
@ -1048,6 +1048,8 @@ def metadata_to_opf(mi, as_string=True):
|
|||||||
metadata[-1].tail = '\n' +(' '*4)
|
metadata[-1].tail = '\n' +(' '*4)
|
||||||
|
|
||||||
if mi.cover:
|
if mi.cover:
|
||||||
|
if not isinstance(mi.cover, unicode):
|
||||||
|
mi.cover = mi.cover.decode(filesystem_encoding)
|
||||||
guide.text = '\n'+(' '*8)
|
guide.text = '\n'+(' '*8)
|
||||||
r = guide.makeelement(OPF('reference'),
|
r = guide.makeelement(OPF('reference'),
|
||||||
attrib={'type':'cover', 'title':_('Cover'), 'href':mi.cover})
|
attrib={'type':'cover', 'title':_('Cover'), 'href':mi.cover})
|
||||||
|
@ -134,6 +134,7 @@ class EbookIterator(object):
|
|||||||
if hasattr(plumber.opts, 'no_process'):
|
if hasattr(plumber.opts, 'no_process'):
|
||||||
plumber.opts.no_process = True
|
plumber.opts.no_process = True
|
||||||
|
|
||||||
|
plumber.input_plugin.for_viewer = True
|
||||||
self.pathtoopf = plumber.input_plugin(open(plumber.input, 'rb'),
|
self.pathtoopf = plumber.input_plugin(open(plumber.input, 'rb'),
|
||||||
plumber.opts, plumber.input_fmt, self.log,
|
plumber.opts, plumber.input_fmt, self.log,
|
||||||
{}, self.base)
|
{}, self.base)
|
||||||
|
@ -36,16 +36,16 @@ OPTIONS = set([
|
|||||||
level=OptionRecommendation.HIGH, long_switch='output', short_switch='o',
|
level=OptionRecommendation.HIGH, long_switch='output', short_switch='o',
|
||||||
help=_('Path to output file. By default a file is created in the current directory.')),
|
help=_('Path to output file. By default a file is created in the current directory.')),
|
||||||
OptionRecommendation(name='bottom_left_x', recommended_value=DEFAULT_CROP,
|
OptionRecommendation(name='bottom_left_x', recommended_value=DEFAULT_CROP,
|
||||||
level=OptionRecommendation.LOW, long_switch='leftx', short_switch='x',
|
level=OptionRecommendation.LOW, long_switch='left-x', short_switch='x',
|
||||||
help=_('Number of pixels to crop from the left most x (default is %s)') % DEFAULT_CROP),
|
help=_('Number of pixels to crop from the left most x (default is %s)') % DEFAULT_CROP),
|
||||||
OptionRecommendation(name='bottom_left_y', recommended_value=DEFAULT_CROP,
|
OptionRecommendation(name='bottom_left_y', recommended_value=DEFAULT_CROP,
|
||||||
level=OptionRecommendation.LOW, long_switch='lefty', short_switch='y',
|
level=OptionRecommendation.LOW, long_switch='left-y', short_switch='y',
|
||||||
help=_('Number of pixels to crop from the left most y (default is %s)') % DEFAULT_CROP),
|
help=_('Number of pixels to crop from the left most y (default is %s)') % DEFAULT_CROP),
|
||||||
OptionRecommendation(name='top_right_x', recommended_value=DEFAULT_CROP,
|
OptionRecommendation(name='top_right_x', recommended_value=DEFAULT_CROP,
|
||||||
level=OptionRecommendation.LOW, long_switch='rightx', short_switch='v',
|
level=OptionRecommendation.LOW, long_switch='right-x', short_switch='v',
|
||||||
help=_('Number of pixels to crop from the right most x (default is %s)') % DEFAULT_CROP),
|
help=_('Number of pixels to crop from the right most x (default is %s)') % DEFAULT_CROP),
|
||||||
OptionRecommendation(name='top_right_y', recommended_value=DEFAULT_CROP,
|
OptionRecommendation(name='top_right_y', recommended_value=DEFAULT_CROP,
|
||||||
level=OptionRecommendation.LOW, long_switch='right y', short_switch='w',
|
level=OptionRecommendation.LOW, long_switch='right-y', short_switch='w',
|
||||||
help=_('Number of pixels to crop from the right most y (default is %s)') % DEFAULT_CROP),
|
help=_('Number of pixels to crop from the right most y (default is %s)') % DEFAULT_CROP),
|
||||||
OptionRecommendation(name='bounding', recommended_value=None,
|
OptionRecommendation(name='bounding', recommended_value=None,
|
||||||
level=OptionRecommendation.LOW, long_switch='bounding', short_switch='b',
|
level=OptionRecommendation.LOW, long_switch='bounding', short_switch='b',
|
||||||
|
@ -511,7 +511,7 @@ class Wizard(QWizard):
|
|||||||
self.device_page = DevicePage()
|
self.device_page = DevicePage()
|
||||||
self.library_page = LibraryPage()
|
self.library_page = LibraryPage()
|
||||||
self.finish_page = FinishPage()
|
self.finish_page = FinishPage()
|
||||||
bt = unicode(self.buttonText(self.FinishButton))
|
bt = unicode(self.buttonText(self.FinishButton)).replace('&', '')
|
||||||
t = unicode(self.finish_page.finish_text.text())
|
t = unicode(self.finish_page.finish_text.text())
|
||||||
self.finish_page.finish_text.setText(t%bt)
|
self.finish_page.finish_text.setText(t%bt)
|
||||||
self.kindle_page = KindlePage()
|
self.kindle_page = KindlePage()
|
||||||
|
@ -8,6 +8,7 @@ HTTP server for remote access to the calibre database.
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
import sys, textwrap, operator, os, re, logging, cStringIO
|
import sys, textwrap, operator, os, re, logging, cStringIO
|
||||||
|
import __builtin__
|
||||||
from itertools import repeat
|
from itertools import repeat
|
||||||
from logging.handlers import RotatingFileHandler
|
from logging.handlers import RotatingFileHandler
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
@ -352,7 +353,7 @@ class LibraryServer(object):
|
|||||||
|
|
||||||
book, books = MarkupTemplate(self.BOOK), []
|
book, books = MarkupTemplate(self.BOOK), []
|
||||||
for record in items[start:start+num]:
|
for record in items[start:start+num]:
|
||||||
aus = record[2] if record[2] else __builtins__._('Unknown')
|
aus = record[2] if record[2] else __builtin__._('Unknown')
|
||||||
authors = '|'.join([i.replace('|', ',') for i in aus.split(',')])
|
authors = '|'.join([i.replace('|', ',') for i in aus.split(',')])
|
||||||
record[10] = fmt_sidx(float(record[10]))
|
record[10] = fmt_sidx(float(record[10]))
|
||||||
books.append(book.generate(r=record, authors=authors).render('xml').decode('utf-8'))
|
books.append(book.generate(r=record, authors=authors).render('xml').decode('utf-8'))
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: calibre 0.6.0b16\n"
|
"Project-Id-Version: calibre 0.6.0\n"
|
||||||
"POT-Creation-Date: 2009-07-22 07:39+MDT\n"
|
"POT-Creation-Date: 2009-07-24 19:49+MDT\n"
|
||||||
"PO-Revision-Date: 2009-07-22 07:39+MDT\n"
|
"PO-Revision-Date: 2009-07-24 19:49+MDT\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Automatically generated\n"
|
||||||
"Language-Team: LANGUAGE\n"
|
"Language-Team: LANGUAGE\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -33,6 +33,8 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:52
|
#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:52
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:317
|
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:317
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:320
|
#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:320
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1895
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1897
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
|
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:225
|
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:225
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:256
|
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:256
|
||||||
@ -63,11 +65,11 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:736
|
#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:736
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:44
|
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:44
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:46
|
#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:46
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:857
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:866
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:862
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:871
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:900
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:909
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:136
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:135
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:138
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:137
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:84
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:84
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:103
|
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:103
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:104
|
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:104
|
||||||
@ -128,8 +130,8 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1599
|
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1599
|
||||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1621
|
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1621
|
||||||
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1672
|
#: /home/kovid/work/calibre/src/calibre/library/database2.py:1672
|
||||||
#: /home/kovid/work/calibre/src/calibre/library/server.py:294
|
#: /home/kovid/work/calibre/src/calibre/library/server.py:295
|
||||||
#: /home/kovid/work/calibre/src/calibre/library/server.py:355
|
#: /home/kovid/work/calibre/src/calibre/library/server.py:356
|
||||||
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45
|
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:45
|
||||||
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63
|
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:63
|
||||||
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77
|
#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:77
|
||||||
@ -204,19 +206,19 @@ msgstr ""
|
|||||||
msgid "Conversion Input"
|
msgid "Conversion Input"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:118
|
#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:122
|
||||||
msgid "Save the output from the input plugin to the specified directory. Useful if you are unsure at which stage of the conversion process a bug is occurring. WARNING: This completely deletes the contents of the specified directory."
|
msgid "Save the output from the input plugin to the specified directory. Useful if you are unsure at which stage of the conversion process a bug is occurring. WARNING: This completely deletes the contents of the specified directory."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:127
|
#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:131
|
||||||
msgid "Specify the character encoding of the input document. If set this option will override any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations."
|
msgid "Specify the character encoding of the input document. If set this option will override any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:243
|
#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:247
|
||||||
msgid "Conversion Output"
|
msgid "Conversion Output"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:257
|
#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:261
|
||||||
msgid "If specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins."
|
msgid "If specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1009,7 +1011,7 @@ msgstr ""
|
|||||||
msgid "Cannot read from: %s"
|
msgid "Cannot read from: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1990
|
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1996
|
||||||
msgid "Failed to process opf file"
|
msgid "Failed to process opf file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1384,8 +1386,8 @@ msgid ""
|
|||||||
"Fetch a cover image for the book identified by ISBN from LibraryThing.com\n"
|
"Fetch a cover image for the book identified by ISBN from LibraryThing.com\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1053
|
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1055
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1260
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1269
|
||||||
msgid "Cover"
|
msgid "Cover"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1414,70 +1416,70 @@ msgstr ""
|
|||||||
msgid "All articles"
|
msgid "All articles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1261
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1270
|
||||||
msgid "Title Page"
|
msgid "Title Page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1262
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1271
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:48
|
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:48
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168
|
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168
|
||||||
msgid "Table of Contents"
|
msgid "Table of Contents"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1263
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1272
|
||||||
msgid "Index"
|
msgid "Index"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1264
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1273
|
||||||
msgid "Glossary"
|
msgid "Glossary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1265
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1274
|
||||||
msgid "Acknowledgements"
|
msgid "Acknowledgements"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1266
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1275
|
||||||
msgid "Bibliography"
|
msgid "Bibliography"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1267
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1276
|
||||||
msgid "Colophon"
|
msgid "Colophon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1268
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1277
|
||||||
msgid "Copyright"
|
msgid "Copyright"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1269
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1278
|
||||||
msgid "Dedication"
|
msgid "Dedication"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1270
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1279
|
||||||
msgid "Epigraph"
|
msgid "Epigraph"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1271
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1280
|
||||||
msgid "Foreword"
|
msgid "Foreword"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1272
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1281
|
||||||
msgid "List of Illustrations"
|
msgid "List of Illustrations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1273
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1282
|
||||||
msgid "List of Tables"
|
msgid "List of Tables"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1274
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1283
|
||||||
msgid "Notes"
|
msgid "Notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1275
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1284
|
||||||
msgid "Preface"
|
msgid "Preface"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1276
|
#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1285
|
||||||
msgid "Main Text"
|
msgid "Main Text"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1537,11 +1539,11 @@ msgstr ""
|
|||||||
msgid "Generate an Adobe \"page-map\" file if pagination information is available."
|
msgid "Generate an Adobe \"page-map\" file if pagination information is available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:112
|
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:114
|
||||||
msgid "Footnotes"
|
msgid "Footnotes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:121
|
#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:123
|
||||||
msgid "Sidebar"
|
msgid "Sidebar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -3584,8 +3586,7 @@ msgid "Meta information"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:141
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:141
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:341
|
msgid "Author s&ort: "
|
||||||
msgid "Author S&ort: "
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:142
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:142
|
||||||
@ -3611,7 +3612,7 @@ msgid " stars"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:148
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:148
|
||||||
msgid "Add Ta&gs: "
|
msgid "Add ta&gs: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:150
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:150
|
||||||
@ -3718,6 +3719,10 @@ msgstr ""
|
|||||||
msgid "Swap the author and title"
|
msgid "Swap the author and title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:341
|
||||||
|
msgid "Author S&ort: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:343
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:343
|
||||||
msgid "Automatically create the author sort entry based on the current author entry"
|
msgid "Automatically create the author sort entry based on the current author entry"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -5953,11 +5958,11 @@ msgstr ""
|
|||||||
msgid "Compacting database"
|
msgid "Compacting database"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/library/server.py:146
|
#: /home/kovid/work/calibre/src/calibre/library/server.py:147
|
||||||
msgid "Password to access your calibre library. Username is "
|
msgid "Password to access your calibre library. Username is "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/library/server.py:429
|
#: /home/kovid/work/calibre/src/calibre/library/server.py:430
|
||||||
msgid ""
|
msgid ""
|
||||||
"[options]\n"
|
"[options]\n"
|
||||||
"\n"
|
"\n"
|
||||||
@ -6226,12 +6231,14 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_accountancyage.py:25
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_accountancyage.py:25
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_adventuregamers.py:13
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_adventuregamers.py:13
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_adventuregamers.py:18
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_adventuregamers.py:18
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_al_jazeera.py:15
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_amspec.py:14
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_amspec.py:14
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ap.py:11
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ap.py:11
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ars_technica.py:13
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ars_technica.py:13
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_atlantic.py:17
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_atlantic.py:17
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_azstarnet.py:15
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_barrons.py:18
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_barrons.py:18
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_bbc.py:16
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_bbc.py:15
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_business_week.py:16
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_business_week.py:16
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_chicago_breaking_news.py:22
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_chicago_breaking_news.py:22
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_chicago_tribune.py:17
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_chicago_tribune.py:17
|
||||||
@ -6239,6 +6246,7 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_climate_progress.py:23
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_climate_progress.py:23
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_coding_horror.py:17
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_corriere_della_sera_en.py:23
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_corriere_della_sera_en.py:23
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_craigslist.py:15
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_craigslist.py:15
|
||||||
@ -6276,8 +6284,10 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_krstarica_en.py:23
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_krstarica_en.py:23
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_latimes.py:17
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_latimes.py:17
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:19
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moneynews.py:16
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_msdnmag_en.py:23
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_msdnmag_en.py:23
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34
|
||||||
@ -6303,14 +6313,17 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_science_news.py:15
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_science_news.py:15
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_sciencedaily.py:15
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_sciencedaily.py:15
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_scientific_american.py:16
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_scientific_american.py:16
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_scott_hanselman.py:18
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_seattle_times.py:22
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_seattle_times.py:22
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_security_watch.py:15
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_security_watch.py:15
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_shacknews.py:10
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_shacknews.py:10
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_slashdot.py:15
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_slashdot.py:15
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_slate.py:18
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_smh.py:19
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_smh.py:19
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_soldiers.py:26
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_soldiers.py:26
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_spiegel_int.py:17
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_spiegel_int.py:17
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_st_petersburg_times.py:23
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_st_petersburg_times.py:23
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_stackoverflow.py:18
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_starbulletin.py:19
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_starbulletin.py:19
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_straitstimes.py:22
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_straitstimes.py:22
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_telegraph_uk.py:18
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_telegraph_uk.py:18
|
||||||
@ -6336,7 +6349,7 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:14
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_xkcd.py:15
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_xkcd.py:15
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_zdnet.py:16
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_zdnet.py:16
|
||||||
@ -6399,6 +6412,7 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_estadao.py:62
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_estadao.py:62
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_jb_online.py:47
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_jb_online.py:47
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_o_globo.py:69
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_o_globo.py:69
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_publico.py:20
|
||||||
msgid "Portugese"
|
msgid "Portugese"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -6420,10 +6434,6 @@ msgstr ""
|
|||||||
msgid "Skipping filtered article: %s"
|
msgid "Skipping filtered article: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_publico.py:20
|
|
||||||
msgid "Portuguese"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#:
|
#:
|
||||||
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18
|
#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18
|
||||||
msgid "Kovid Goyal and Sujata Raman"
|
msgid "Kovid Goyal and Sujata Raman"
|
||||||
|
@ -10,16 +10,20 @@ from calibre.web.feeds.news import BasicNewsRecipe
|
|||||||
|
|
||||||
class BBC(BasicNewsRecipe):
|
class BBC(BasicNewsRecipe):
|
||||||
title = u'The BBC'
|
title = u'The BBC'
|
||||||
__author__ = 'Kovid Goyal'
|
__author__ = 'Kovid Goyal and Sujata Raman'
|
||||||
description = 'Global news and current affairs from the British Broadcasting Corporation'
|
description = 'Global news and current affairs from the British Broadcasting Corporation'
|
||||||
no_stylesheets = True
|
|
||||||
language = _('English')
|
language = _('English')
|
||||||
|
|
||||||
remove_tags = [dict(name='div', attrs={'class':'footer'})]
|
remove_tags = [dict(name='div', attrs={'class':'footer'}),]
|
||||||
extra_css = '.headline {font-size: x-large;} \n .fact { padding-top: 10pt }'
|
|
||||||
|
|
||||||
|
extra_css = '''
|
||||||
|
body{font-family:Arial,Helvetica,sans-serif; font-size:small;}
|
||||||
|
h1{font-size:large;}
|
||||||
|
'''
|
||||||
|
|
||||||
feeds = [
|
feeds = [
|
||||||
('News Front Page', 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml'),
|
('News Front Page', 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml'),
|
||||||
('Science/Nature', 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/science/nature/rss.xml'),
|
('Science/Nature', 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/science/nature/rss.xml'),
|
||||||
('Technology', 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/technology/rss.xml'),
|
('Technology', 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/technology/rss.xml'),
|
||||||
('Enterntainment', 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/entertainment/rss.xml'),
|
('Enterntainment', 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/entertainment/rss.xml'),
|
||||||
@ -34,5 +38,8 @@ class BBC(BasicNewsRecipe):
|
|||||||
('Africa', 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/africa/rss.xml'),
|
('Africa', 'http://newsrss.bbc.co.uk/rss/newsonline_world_edition/africa/rss.xml'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def print_version(self, url):
|
def print_version(self, url):
|
||||||
return url.replace('http://', 'http://newsvote.bbc.co.uk/mpapps/pagetools/print/')
|
return url.replace('http://', 'http://newsvote.bbc.co.uk/mpapps/pagetools/print/')
|
||||||
|
|
||||||
|
|
||||||
|
19
upload.py
19
upload.py
@ -44,7 +44,7 @@ except:
|
|||||||
|
|
||||||
def newer(targets, sources):
|
def newer(targets, sources):
|
||||||
'''
|
'''
|
||||||
Return True is sources is newer that targets or if targets
|
Return True if sources is newer that targets or if targets
|
||||||
does not exist.
|
does not exist.
|
||||||
'''
|
'''
|
||||||
for f in targets:
|
for f in targets:
|
||||||
@ -459,7 +459,7 @@ class upload_demo(OptionlessCommand):
|
|||||||
def run(self):
|
def run(self):
|
||||||
check_call(
|
check_call(
|
||||||
'''ebook-convert %s/demo.html /tmp/html2lrf.lrf '''
|
'''ebook-convert %s/demo.html /tmp/html2lrf.lrf '''
|
||||||
'''--title='Demonstration of html2lrf' --author='Kovid Goyal' '''
|
'''--title='Demonstration of html2lrf' --authors='Kovid Goyal' '''
|
||||||
'''--header '''
|
'''--header '''
|
||||||
'''--serif-family "/usr/share/fonts/corefonts, Times New Roman" '''
|
'''--serif-family "/usr/share/fonts/corefonts, Times New Roman" '''
|
||||||
'''--mono-family "/usr/share/fonts/corefonts, Andale Mono" '''
|
'''--mono-family "/usr/share/fonts/corefonts, Andale Mono" '''
|
||||||
@ -471,15 +471,6 @@ class upload_demo(OptionlessCommand):
|
|||||||
|
|
||||||
check_call('scp /tmp/html-demo.zip divok:%s/'%(DOWNLOADS,), shell=True)
|
check_call('scp /tmp/html-demo.zip divok:%s/'%(DOWNLOADS,), shell=True)
|
||||||
|
|
||||||
check_call(
|
|
||||||
("ebook-convert %s/demo.txt /tmp/txt2lrf.lrf -t 'Demonstration of txt2lrf'"
|
|
||||||
"-a 'Kovid Goyal' --header ")%(TXT2LRF,), shell=True)
|
|
||||||
|
|
||||||
check_call('cd src/calibre/ebooks/lrf/txt/demo/ && '
|
|
||||||
'zip -j /tmp/txt-demo.zip * /tmp/txt2lrf.lrf', shell=True)
|
|
||||||
|
|
||||||
check_call('''scp /tmp/txt-demo.zip divok:%s/'''%(DOWNLOADS,), shell=True)
|
|
||||||
|
|
||||||
|
|
||||||
def installer_name(ext):
|
def installer_name(ext):
|
||||||
if ext in ('exe', 'dmg'):
|
if ext in ('exe', 'dmg'):
|
||||||
@ -762,6 +753,7 @@ try:
|
|||||||
class ChangelogFormatter(blog.LogFormatter):
|
class ChangelogFormatter(blog.LogFormatter):
|
||||||
supports_tags = True
|
supports_tags = True
|
||||||
supports_merge_revisions = False
|
supports_merge_revisions = False
|
||||||
|
_show_advice = False
|
||||||
|
|
||||||
def __init__(self, num_of_versions=20):
|
def __init__(self, num_of_versions=20):
|
||||||
from calibre.utils.rss_gen import RSS2
|
from calibre.utils.rss_gen import RSS2
|
||||||
@ -786,7 +778,10 @@ try:
|
|||||||
mkup = '<div><ul>%s</ul></div>'
|
mkup = '<div><ul>%s</ul></div>'
|
||||||
self.current_entry.description = mkup%(''.join(
|
self.current_entry.description = mkup%(''.join(
|
||||||
self.current_entry.description))
|
self.current_entry.description))
|
||||||
|
if match.group(1) == '0.5.14':
|
||||||
|
self.current_entry.description = \
|
||||||
|
'''<div>See <a href="http://calibre.kovidgoyal.net/new_in_6">New in
|
||||||
|
6</a></div>'''
|
||||||
self.rss.items.append(self.current_entry)
|
self.rss.items.append(self.current_entry)
|
||||||
timestamp = r.rev.timezone + r.rev.timestamp
|
timestamp = r.rev.timezone + r.rev.timestamp
|
||||||
self.current_entry = RSSItem(
|
self.current_entry = RSSItem(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user