From 53f02e555e0557c8cdae4927d2af8705f90be8ad Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 28 May 2010 16:26:22 -0600 Subject: [PATCH 1/3] Conversion pipeline: Run conversion removal regexps first to make them act on text closer to that shown in the regex builder --- src/calibre/ebooks/conversion/preprocess.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/conversion/preprocess.py b/src/calibre/ebooks/conversion/preprocess.py index a42f0fc73b..40c67453b2 100644 --- a/src/calibre/ebooks/conversion/preprocess.py +++ b/src/calibre/ebooks/conversion/preprocess.py @@ -252,7 +252,7 @@ class HTMLPreProcessor(object): end_rules = [] if getattr(self.extra_opts, 'remove_header', None): try: - end_rules.append( + rules.insert(0, (re.compile(self.extra_opts.header_regex), lambda match : '') ) except: @@ -262,7 +262,7 @@ class HTMLPreProcessor(object): if getattr(self.extra_opts, 'remove_footer', None): try: - end_rules.append( + rules.insert(0 (re.compile(self.extra_opts.footer_regex), lambda match : '') ) except: From ae5618c435e01925147c0a93d2e833cecacaac61 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 28 May 2010 16:38:02 -0600 Subject: [PATCH 2/3] version 0.6.55 --- Changelog.yaml | 54 ++++++++++++++++++++++++++++++++++++++++ src/calibre/constants.py | 2 +- 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/Changelog.yaml b/Changelog.yaml index c4a8ffc2dd..f23566cb67 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -4,6 +4,60 @@ # for important features/bug fixes. # Also, each release can have new and improved recipes. +- version: 0.6.55 + date: 2010-05-28 + + new features: + - title: "Support for the Nokia E71X" + + - title: "EPUB Output: Generate a default one entry TOC if no TOC is present. This allows the EPUB to pass epubcheck and work on the Kobo" + + - title: "Kobo driver: Add support for storage card" + + - title: "PDF Output: Improved cover and comic handling" + + - title: "EPUB metadata: When setting authors, always move the new dc:creator element to the top so broken implementations don't get confused" + + bug fixes: + - title: "Make the HTML shown in the regex builder closer to that actually processed by the conversion pipeline." + tickets: [5549] + + - title: "Fix tab ordering in Bulk edit meta information dialog" + tickets: [5624] + + - title: "EPUB Input: Ignore __MACOSX directories inside the EPUB file" + + - title: "EPUB Input: Raise an appropriate error for DTBook EPUB files" + + - title: "EPUB Output: Use correct SVG code when not preserving aspect ratio for covers" + + - title: "Use PNP drive number based sorting on windows when the device has identical main memory and card ids" + + new recipes: + - title: Infomotori + author: Gabriele Marini + + - title: Las Vegas Review + author: Joel + + - title: Troitskiy variant + author: Vadim Dyadkin + + - title: American Thinker + author: Walt Anthony + + - title: The Observer + author: jbambridge + + improved recipes: + - The BBC + - The New York Times + - Wired + - Corriere della Serra + - Leggo + - darknet + - Freakonomics Blog + - version: 0.6.54 date: 2010-05-21 diff --git a/src/calibre/constants.py b/src/calibre/constants.py index 4ee7cb80be..78ea150821 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -2,7 +2,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = 'calibre' -__version__ = '0.6.54' +__version__ = '0.6.55' __author__ = "Kovid Goyal " import re From bca2e30631d80ba09a54fcc10b817f06743e2cdf Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 28 May 2010 17:18:08 -0600 Subject: [PATCH 3/3] IGN:Tag release --- src/calibre/translations/calibre.pot | 136 +++++++++++++++------------ 1 file changed, 76 insertions(+), 60 deletions(-) diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index d3d307108e..a8c1761547 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.6.54\n" -"POT-Creation-Date: 2010-05-21 15:44+MDT\n" -"PO-Revision-Date: 2010-05-21 15:44+MDT\n" +"Project-Id-Version: calibre 0.6.55\n" +"POT-Creation-Date: 2010-05-28 16:38+MDT\n" +"PO-Revision-Date: 2010-05-28 16:38+MDT\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -53,7 +53,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:120 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:329 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:444 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:921 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:23 @@ -95,8 +95,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:63 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:81 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:87 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:88 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:233 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:235 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:279 @@ -453,11 +453,11 @@ msgstr "" msgid "Communicate with Hanlin V3 eBook readers." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:95 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:78 msgid "Communicate with Hanlin V5 eBook readers." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:114 +#: /home/kovid/work/calibre/src/calibre/devices/hanlin/driver.py:97 msgid "Communicate with the BOOX eBook reader." msgstr "" @@ -465,15 +465,19 @@ msgstr "" msgid "Communicate with the Hanvon N520 eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:41 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:40 +msgid "Communicate with The Book reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:51 msgid "Communicate with the SpringDesign Alex eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:57 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:67 msgid "Communicate with the Azbooka" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:80 msgid "Communicate with the Elonex EB 511 eBook reader." msgstr "" @@ -519,15 +523,15 @@ msgstr "" msgid "Communicate with the Kindle DX eBook reader." msgstr "" +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:14 +msgid "Communicate with the Kobo Reader" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/misc.py:15 msgid "Communicate with the Palm Pre" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:35 -msgid "Communicate with the Kobo Reader" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:56 msgid "Communicate with the Booq Avant" msgstr "" @@ -608,59 +612,59 @@ msgstr "" msgid "Communicate with the Teclast K3 reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:45 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:37 msgid "Communicate with the Newsmy reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:60 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:49 msgid "Communicate with the iPapyrus reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:252 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:246 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:426 msgid "Unable to detect the %s mount point. Try rebooting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:490 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:491 msgid "Unable to detect the %s disk drive." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:583 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:584 msgid "Could not find mount helper: %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:595 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:596 msgid "Unable to detect the %s disk drive. Your kernel is probably exporting a deprecated version of SYSFS." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:603 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:604 msgid "Unable to mount main memory (Error code: %d)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:740 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:742 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:741 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:743 msgid "The reader has no storage card in this slot." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:744 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:745 msgid "Selected slot: %s is not supported." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:777 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:778 msgid "There is insufficient free space in main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:779 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:781 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:780 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:782 msgid "There is insufficient free space on the storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:811 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:842 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:812 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:818 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:843 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:240 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:151 #: /home/kovid/work/calibre/src/calibre/library/database2.py:589 @@ -1186,30 +1190,34 @@ msgstr "" msgid "Creating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:205 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:56 msgid "Extract the contents of the generated EPUB file to the specified directory. The contents of the directory are first deleted, so be careful." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:211 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:62 msgid "Turn off splitting at page breaks. Normally, input files are automatically split at every page break into two files. This gives an output ebook that can be parsed faster and with less resources. However, splitting is slow and if your source file contains a very large number of page breaks, you should turn off splitting on page breaks." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:222 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:73 msgid "Split all HTML files larger than this size (in KB). This is necessary as most EPUB readers cannot handle large file sizes. The default of %defaultKB is the size required for Adobe Digital Editions." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:80 msgid "Normally, if the input file has no cover and you don't specify one, a default cover is generated with the title, authors, etc. This option disables the generation of this cover." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:86 msgid "Do not use SVG for the book cover. Use this option if your EPUB is going to be used ona device that does not support SVG, like the iPhone or the JetBook Lite. Without this option, such devices will display the cover as a blank page." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:243 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:94 msgid "When using an SVG cover, this option will cause the cover to scale to cover the available screen area, but still preserve its aspect ratio (ratio of width to height). That means there may be white borders at the sides or top and bottom of the image, but the image will never be distorted. Without this option the image may be slightly distorted, but there will be no borders." msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:169 +msgid "Start" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/fb2ml.py:144 #: /home/kovid/work/calibre/src/calibre/ebooks/rb/rbml.py:102 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/txtml.py:77 @@ -1699,7 +1707,7 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1103 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1112 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1372 msgid "Cover" msgstr "" @@ -1804,7 +1812,7 @@ msgstr "" msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:41 msgid "%s format books are not supported" msgstr "" @@ -2046,22 +2054,26 @@ msgstr "" msgid "Split Options:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:59 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:31 msgid "The unit of measure. Default is inch. Choices are %s Note: This does not override the unit for margins!" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36 msgid "The size of the paper. This size will be overridden when an output profile is used. Default is letter. Choices are %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:68 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:40 msgid "Custom size of the document. Use the form widthxheight EG. `123x321` to specify the width and height. This overrides any specified paper-size." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:73 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45 msgid "The orientation of the page. Default is portrait. Choices are %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:49 +msgid "Preserve the aspect ratio of the cover, instead of stretching it to fill the ull first page of the generated pdf." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:55 msgid "Could not find pdftohtml, check it is in your PATH" msgstr "" @@ -2209,7 +2221,7 @@ msgid "Limit max simultaneous jobs to number of CPUs" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:135 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:482 msgid "Copied" msgstr "" @@ -2338,7 +2350,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:62 @@ -3048,14 +3060,18 @@ msgstr "" msgid "PDF Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:43 msgid "&Paper Size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:44 msgid "&Orientation:" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:45 +msgid "Preserve &aspect ratio of cover" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:14 msgid "RB Output" msgstr "" @@ -3811,7 +3827,7 @@ msgid "Failed to start content server" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:715 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:593 msgid "Select location for books" msgstr "" @@ -5440,7 +5456,7 @@ msgid "The database repair failed. Starting with a new empty library." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:150 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:601 msgid "Calibre Library" msgstr "" @@ -6905,40 +6921,40 @@ msgstr "" msgid "Title Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:373 msgid "If you use the WordPlayer e-book app on your Android phone, you can access your calibre book collection directly on the device. To do this you have to turn on the content server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:377 msgid "Remember to leave calibre running as the server only runs as long as calibre is running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:379 msgid "You have to add the URL http://myhostname:8080 as your calibre library in WordPlayer. Here myhostname should be the fully qualified hostname or the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:456 msgid "Moving library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:465 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Failed to move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:527 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:528 msgid "

An invalid library already exists at %s, delete it before trying to move the existing library.
Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 msgid "Could not move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:668 msgid "welcome wizard" msgstr ""