From 5208acd9e5754a3f88b5ca7017c37c3b456b5af9 Mon Sep 17 00:00:00 2001 From: Andreas Grapentin Date: Tue, 26 Feb 2019 12:25:53 +0100 Subject: libre/calibre: updated to 3.39.1 --- libre/calibre/libre.patch | 385 +++++++++++++++++++++++----------------------- 1 file changed, 193 insertions(+), 192 deletions(-) (limited to 'libre/calibre/libre.patch') diff --git a/libre/calibre/libre.patch b/libre/calibre/libre.patch index 006d60214..6f2709f36 100644 --- a/libre/calibre/libre.patch +++ b/libre/calibre/libre.patch @@ -1,7 +1,7 @@ -diff -r -u calibre-3.33.1.orig/manual/conversion.rst calibre-3.33.1/manual/conversion.rst ---- calibre-3.33.1.orig/manual/conversion.rst 2018-11-02 18:00:30.919968752 +0000 -+++ calibre-3.33.1/manual/conversion.rst 2018-11-02 17:55:09.626637724 +0000 -@@ -747,7 +747,7 @@ +diff -rupN calibre-3.39.1/manual/conversion.rst calibre-3.39.1.new/manual/conversion.rst +--- calibre-3.39.1/manual/conversion.rst 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/manual/conversion.rst 2019-02-26 11:40:36.546704530 +0100 +@@ -747,7 +747,7 @@ output ranging anywhere from decent to u Comic book collections ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -10,10 +10,10 @@ diff -r -u calibre-3.33.1.orig/manual/conversion.rst calibre-3.33.1/manual/conve .cbc file must contain a simple text file called comics.txt, encoded in UTF-8. The comics.txt file must contain a list of the comics files inside the .cbc file, in the form filename:title, as shown below:: -diff -r -u calibre-3.33.1.orig/manual/faq.rst calibre-3.33.1/manual/faq.rst ---- calibre-3.33.1.orig/manual/faq.rst 2018-11-02 18:00:30.919968752 +0000 -+++ calibre-3.33.1/manual/faq.rst 2018-11-02 17:55:09.946637723 +0000 -@@ -18,7 +18,7 @@ +diff -rupN calibre-3.39.1/manual/faq.rst calibre-3.39.1.new/manual/faq.rst +--- calibre-3.39.1/manual/faq.rst 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/manual/faq.rst 2019-02-26 11:40:36.546704530 +0100 +@@ -18,7 +18,7 @@ What formats does calibre support conver calibre supports the conversion of many input formats to many output formats. It can convert every input format in the following list, to every output format. @@ -22,10 +22,10 @@ diff -r -u calibre-3.33.1.orig/manual/faq.rst calibre-3.33.1/manual/faq.rst *Output Formats:* AZW3, EPUB, DOCX, FB2, HTMLZ, OEB, LIT, LRF, MOBI, PDB, PMLZ, RB, PDF, RTF, SNB, TCR, TXT, TXTZ, ZIP -diff -r -u calibre-3.33.1.orig/manual/gui.rst calibre-3.33.1/manual/gui.rst ---- calibre-3.33.1.orig/manual/gui.rst 2018-11-02 18:00:30.919968752 +0000 -+++ calibre-3.33.1/manual/gui.rst 2018-11-02 17:55:10.363304387 +0000 -@@ -51,7 +51,7 @@ +diff -rupN calibre-3.39.1/manual/gui.rst calibre-3.39.1.new/manual/gui.rst +--- calibre-3.39.1/manual/gui.rst 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/manual/gui.rst 2019-02-26 11:40:36.550037909 +0100 +@@ -51,7 +51,7 @@ Add books 3. **Add books from directories, including sub-directories (Multiple books per directory, assumes every e-book file is a different book)**: Allows you to choose a directory. The directory and all its sub-directories are scanned recursively and any e-books found are added to the library. calibre assumes that each directory contains many books. All e-book files with the same name in a directory are assumed to be the same book in different formats. E-books with different names are added as different books. @@ -34,10 +34,10 @@ diff -r -u calibre-3.33.1.orig/manual/gui.rst calibre-3.33.1/manual/gui.rst 5. **Add empty book (Book Entry with no formats)**: Allows you to create a blank book record. This can be used to then manually fill out the information about a book that you may not have yet in your collection. -diff -r -u calibre-3.33.1.orig/resources/mime.types calibre-3.33.1/resources/mime.types ---- calibre-3.33.1.orig/resources/mime.types 2018-11-02 18:00:29.396635432 +0000 -+++ calibre-3.33.1/resources/mime.types 2018-11-02 17:55:10.713304381 +0000 -@@ -138,7 +138,6 @@ +diff -rupN calibre-3.39.1/resources/mime.types calibre-3.39.1.new/resources/mime.types +--- calibre-3.39.1/resources/mime.types 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/resources/mime.types 2019-02-26 11:40:36.550037909 +0100 +@@ -138,7 +138,6 @@ application/prs.cww cww application/prs.nprend application/prs.plucker application/qsig @@ -45,7 +45,7 @@ diff -r -u calibre-3.33.1.orig/resources/mime.types calibre-3.33.1/resources/mim application/rdf+xml rdf application/reginfo+xml rif application/relax-ng-compact-syntax rnc -@@ -849,7 +848,6 @@ +@@ -849,7 +848,6 @@ application/x-pkcs7-certreqresp p7r application/x-pkcs7-crl crl application/x-python-code pyc pyo application/x-quicktimeplayer qtl @@ -53,7 +53,7 @@ diff -r -u calibre-3.33.1.orig/resources/mime.types calibre-3.33.1/resources/mim application/x-redhat-package-manager rpm application/x-sh sh application/x-shar shar -@@ -1372,7 +1370,6 @@ +@@ -1372,7 +1370,6 @@ application/x-mobipocket-subscription application/x-kindle-application azw2 application/x-mobi8-ebook azw3 application/x-cbz cbz @@ -61,10 +61,10 @@ diff -r -u calibre-3.33.1.orig/resources/mime.types calibre-3.33.1/resources/mim application/x-cb7 cb7 application/x-cbc cbc application/x-koboreader-ebook kobo -diff -r -u calibre-3.33.1.orig/setup/resources.py calibre-3.33.1/setup/resources.py ---- calibre-3.33.1.orig/setup/resources.py 2018-11-02 18:00:30.683302087 +0000 -+++ calibre-3.33.1/setup/resources.py 2018-11-02 17:55:11.076637713 +0000 -@@ -348,7 +348,7 @@ +diff -rupN calibre-3.39.1/setup/resources.py calibre-3.39.1.new/setup/resources.py +--- calibre-3.39.1/setup/resources.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/setup/resources.py 2019-02-26 11:40:36.550037909 +0100 +@@ -348,7 +348,7 @@ class Resources(Command): # {{{ log = Log() # log.outputs = [] for inf in supported_input_formats(): @@ -73,10 +73,10 @@ diff -r -u calibre-3.33.1.orig/setup/resources.py calibre-3.33.1/setup/resources continue for ouf in available_output_formats(): of = ouf if ouf == 'oeb' else 'dummy.'+ouf -diff -r -u calibre-3.33.1.orig/src/calibre/customize/builtins.py calibre-3.33.1/src/calibre/customize/builtins.py ---- calibre-3.33.1.orig/src/calibre/customize/builtins.py 2018-11-02 18:00:30.683302087 +0000 -+++ calibre-3.33.1/src/calibre/customize/builtins.py 2018-11-02 17:55:08.869971064 +0000 -@@ -132,7 +132,7 @@ +diff -rupN calibre-3.39.1/src/calibre/customize/builtins.py calibre-3.39.1.new/src/calibre/customize/builtins.py +--- calibre-3.39.1/src/calibre/customize/builtins.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/customize/builtins.py 2019-02-26 11:40:36.550037909 +0100 +@@ -132,7 +132,7 @@ plugins += [HTML2ZIP, PML2PMLZ, TXT2TXTZ class ComicMetadataReader(MetadataReaderPlugin): name = 'Read comic metadata' @@ -85,7 +85,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/customize/builtins.py calibre-3.33.1/ description = _('Extract cover from comic files') def customization_help(self, gui=False): -@@ -143,19 +143,14 @@ +@@ -143,19 +143,14 @@ class ComicMetadataReader(MetadataReader pos = stream.tell() id_ = stream.read(3) stream.seek(pos) @@ -108,7 +108,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/customize/builtins.py calibre-3.33.1/ series_index = self.site_customization if series_index not in {'volume', 'issue'}: series_index = 'volume' -@@ -354,17 +349,6 @@ +@@ -354,17 +349,6 @@ class PMLMetadataReader(MetadataReaderPl return get_metadata(stream) @@ -126,10 +126,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/customize/builtins.py calibre-3.33.1/ class RBMetadataReader(MetadataReaderPlugin): name = 'Read RB metadata' -diff -r -u calibre-3.33.1.orig/src/calibre/customize/ui.py calibre-3.33.1/src/calibre/customize/ui.py ---- calibre-3.33.1.orig/src/calibre/customize/ui.py 2018-11-02 18:00:30.673302088 +0000 -+++ calibre-3.33.1/src/calibre/customize/ui.py 2018-11-02 17:55:08.489971068 +0000 -@@ -538,7 +538,7 @@ +diff -rupN calibre-3.39.1/src/calibre/customize/ui.py calibre-3.39.1.new/src/calibre/customize/ui.py +--- calibre-3.39.1/src/calibre/customize/ui.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/customize/ui.py 2019-02-26 11:40:36.550037909 +0100 +@@ -538,7 +538,7 @@ def available_input_formats(): if not is_disabled(plugin): for format in plugin.file_types: formats.add(format) @@ -138,10 +138,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/customize/ui.py calibre-3.33.1/src/ca return formats -diff -r -u calibre-3.33.1.orig/src/calibre/devices/kobo/driver.py calibre-3.33.1/src/calibre/devices/kobo/driver.py ---- calibre-3.33.1.orig/src/calibre/devices/kobo/driver.py 2018-11-02 18:00:30.656635421 +0000 -+++ calibre-3.33.1/src/calibre/devices/kobo/driver.py 2018-11-02 17:55:11.443304372 +0000 -@@ -86,7 +86,7 @@ +diff -rupN calibre-3.39.1/src/calibre/devices/kobo/driver.py calibre-3.39.1.new/src/calibre/devices/kobo/driver.py +--- calibre-3.39.1/src/calibre/devices/kobo/driver.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/devices/kobo/driver.py 2019-02-26 11:40:36.553371290 +0100 +@@ -90,7 +90,7 @@ class KOBO(USBMS): book_class = Book # Ordered list of supported formats @@ -150,10 +150,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/devices/kobo/driver.py calibre-3.33.1 CAN_SET_METADATA = ['collections'] VENDOR_ID = [0x2237] -diff -r -u calibre-3.33.1.orig/src/calibre/devices/misc.py calibre-3.33.1/src/calibre/devices/misc.py ---- calibre-3.33.1.orig/src/calibre/devices/misc.py 2018-11-02 18:00:30.656635421 +0000 -+++ calibre-3.33.1/src/calibre/devices/misc.py 2018-11-02 17:55:11.786637709 +0000 -@@ -448,7 +448,7 @@ +diff -rupN calibre-3.39.1/src/calibre/devices/misc.py calibre-3.39.1.new/src/calibre/devices/misc.py +--- calibre-3.39.1/src/calibre/devices/misc.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/devices/misc.py 2019-02-26 11:40:36.553371290 +0100 +@@ -448,7 +448,7 @@ class WAYTEQ(USBMS): EBOOK_DIR_MAIN = 'Documents' SCAN_FROM_ROOT = True @@ -162,10 +162,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/devices/misc.py calibre-3.33.1/src/ca WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = ['RK28_SDK_DEMO', 'EINK_EBOOK_READE'] SUPPORTS_SUB_DIRS = True -diff -r -u calibre-3.33.1.orig/src/calibre/devices/mtp/filesystem_cache.py calibre-3.33.1/src/calibre/devices/mtp/filesystem_cache.py ---- calibre-3.33.1.orig/src/calibre/devices/mtp/filesystem_cache.py 2018-11-02 18:00:30.653302088 +0000 -+++ calibre-3.33.1/src/calibre/devices/mtp/filesystem_cache.py 2018-11-02 17:55:12.123304377 +0000 -@@ -18,7 +18,7 @@ +diff -rupN calibre-3.39.1/src/calibre/devices/mtp/filesystem_cache.py calibre-3.39.1.new/src/calibre/devices/mtp/filesystem_cache.py +--- calibre-3.39.1/src/calibre/devices/mtp/filesystem_cache.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/devices/mtp/filesystem_cache.py 2019-02-26 11:40:36.553371290 +0100 +@@ -18,7 +18,7 @@ from calibre.utils.date import local_tz, from calibre.utils.icu import sort_key, lower from calibre.ebooks import BOOK_EXTENSIONS @@ -174,10 +174,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/devices/mtp/filesystem_cache.py calib class FileOrFolder(object): -diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/comic/__init__.py calibre-3.33.1/src/calibre/ebooks/comic/__init__.py ---- calibre-3.33.1.orig/src/calibre/ebooks/comic/__init__.py 2018-11-02 18:00:30.639968755 +0000 -+++ calibre-3.33.1/src/calibre/ebooks/comic/__init__.py 2018-11-02 17:55:12.803304368 +0000 -@@ -4,7 +4,7 @@ +diff -rupN calibre-3.39.1/src/calibre/ebooks/comic/__init__.py calibre-3.39.1.new/src/calibre/ebooks/comic/__init__.py +--- calibre-3.39.1/src/calibre/ebooks/comic/__init__.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/ebooks/comic/__init__.py 2019-02-26 11:40:36.553371290 +0100 +@@ -4,7 +4,7 @@ __copyright__ = '2008, Kovid Goyal kovid __docformat__ = 'restructuredtext en' ''' @@ -186,10 +186,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/comic/__init__.py calibre-3.33 ''' import sys -diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/conversion/plugins/comic_input.py calibre-3.33.1/src/calibre/ebooks/conversion/plugins/comic_input.py ---- calibre-3.33.1.orig/src/calibre/ebooks/conversion/plugins/comic_input.py 2018-11-02 18:00:30.639968755 +0000 -+++ calibre-3.33.1/src/calibre/ebooks/conversion/plugins/comic_input.py 2018-11-02 17:55:08.153304401 +0000 -@@ -18,8 +18,8 @@ +diff -rupN calibre-3.39.1/src/calibre/ebooks/conversion/plugins/comic_input.py calibre-3.39.1.new/src/calibre/ebooks/conversion/plugins/comic_input.py +--- calibre-3.39.1/src/calibre/ebooks/conversion/plugins/comic_input.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/ebooks/conversion/plugins/comic_input.py 2019-02-26 11:40:36.553371290 +0100 +@@ -18,8 +18,8 @@ class ComicInput(InputFormatPlugin): name = 'Comic Input' author = 'Kovid Goyal' @@ -200,10 +200,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/conversion/plugins/comic_input is_image_collection = True commit_name = 'comic_input' core_usage = -1 -diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/conversion/plumber.py calibre-3.33.1/src/calibre/ebooks/conversion/plumber.py ---- calibre-3.33.1.orig/src/calibre/ebooks/conversion/plumber.py 2018-11-02 18:00:30.636635421 +0000 -+++ calibre-3.33.1/src/calibre/ebooks/conversion/plumber.py 2018-11-02 17:55:13.106637701 +0000 -@@ -43,7 +43,7 @@ +diff -rupN calibre-3.39.1/src/calibre/ebooks/conversion/plumber.py calibre-3.39.1.new/src/calibre/ebooks/conversion/plumber.py +--- calibre-3.39.1/src/calibre/ebooks/conversion/plumber.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/ebooks/conversion/plumber.py 2019-02-26 11:40:36.553371290 +0100 +@@ -43,7 +43,7 @@ various stages of conversion. The stages def supported_input_formats(): fmts = available_input_formats() @@ -212,7 +212,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/conversion/plumber.py calibre- fmts.add(x) return fmts -@@ -64,7 +64,7 @@ +@@ -64,7 +64,7 @@ class CompositeProgressReporter(object): self.global_reporter(global_frac, msg) @@ -221,10 +221,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/conversion/plumber.py calibre- class Plumber(object): -diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/__init__.py calibre-3.33.1/src/calibre/ebooks/__init__.py ---- calibre-3.33.1.orig/src/calibre/ebooks/__init__.py 2018-11-02 18:00:30.639968755 +0000 -+++ calibre-3.33.1/src/calibre/ebooks/__init__.py 2018-11-02 17:55:12.459971039 +0000 -@@ -30,9 +30,9 @@ +diff -rupN calibre-3.39.1/src/calibre/ebooks/__init__.py calibre-3.39.1.new/src/calibre/ebooks/__init__.py +--- calibre-3.39.1/src/calibre/ebooks/__init__.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/ebooks/__init__.py 2019-02-26 11:40:36.553371290 +0100 +@@ -30,9 +30,9 @@ class ParserError(ValueError): pass @@ -236,10 +236,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/__init__.py calibre-3.33.1/src 'rb', 'imp', 'odt', 'chm', 'tpz', 'azw1', 'pml', 'pmlz', 'mbp', 'tan', 'snb', 'xps', 'oxps', 'azw4', 'book', 'zbf', 'pobi', 'docx', 'docm', 'md', 'textile', 'markdown', 'ibook', 'ibooks', 'iba', 'azw3', 'ps', 'kepub', 'kfx'] -diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/metadata/archive.py calibre-3.33.1/src/calibre/ebooks/metadata/archive.py ---- calibre-3.33.1.orig/src/calibre/ebooks/metadata/archive.py 2018-11-02 18:00:30.619968755 +0000 -+++ calibre-3.33.1/src/calibre/ebooks/metadata/archive.py 2018-11-02 17:55:07.596637739 +0000 -@@ -29,8 +29,6 @@ +diff -rupN calibre-3.39.1/src/calibre/ebooks/metadata/archive.py calibre-3.39.1.new/src/calibre/ebooks/metadata/archive.py +--- calibre-3.39.1/src/calibre/ebooks/metadata/archive.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/ebooks/metadata/archive.py 2019-02-26 11:40:36.553371290 +0100 +@@ -29,8 +29,6 @@ def archive_type(stream): ans = None if id_ == stringFileHeader: ans = 'zip' @@ -248,7 +248,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/metadata/archive.py calibre-3. try: stream.seek(pos) except: -@@ -42,24 +40,16 @@ +@@ -42,24 +40,16 @@ class ArchiveExtract(FileTypePlugin): name = 'Archive Extract' author = 'Kovid Goyal' description = _('Extract common e-book formats from archive files ' @@ -278,7 +278,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/metadata/archive.py calibre-3. def fname_ok(fname): bn = os.path.basename(fname).lower() -@@ -75,7 +65,7 @@ +@@ -75,7 +65,7 @@ class ArchiveExtract(FileTypePlugin): fnames = list(filter(fname_ok, fnames)) if is_comic(fnames): @@ -287,7 +287,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/metadata/archive.py calibre-3. of = self.temporary_file('_archive_extract'+ext) with open(archive, 'rb') as f: of.write(f.read()) -@@ -92,11 +82,7 @@ +@@ -92,11 +82,7 @@ class ArchiveExtract(FileTypePlugin): of = self.temporary_file('_archive_extract.'+ext) with closing(of): @@ -300,7 +300,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/metadata/archive.py calibre-3. return of.name -@@ -159,9 +145,6 @@ +@@ -159,9 +145,6 @@ def get_comic_metadata(stream, stream_ty from calibre.utils.zipfile import ZipFile zf = ZipFile(stream) comment = zf.comment @@ -310,22 +310,22 @@ diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/metadata/archive.py calibre-3. if comment: import json -diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/oeb/iterator/book.py calibre-3.33.1/src/calibre/ebooks/oeb/iterator/book.py ---- calibre-3.33.1.orig/src/calibre/ebooks/oeb/iterator/book.py 2018-11-02 18:00:30.593302088 +0000 -+++ calibre-3.33.1/src/calibre/ebooks/oeb/iterator/book.py 2018-11-02 17:55:13.416637692 +0000 -@@ -157,7 +157,7 @@ - self.spine = [] - Spiny = partial(SpineItem, read_anchor_map=read_anchor_map, read_links=read_links, - run_char_count=run_char_count, from_epub=self.book_format == 'EPUB') -- is_comic = input_fmt.lower() in {'cbc', 'cbz', 'cbr', 'cb7'} -+ is_comic = input_fmt.lower() in {'cbc', 'cbz', 'cb7'} - for i in ordered: - spath = i.path - mt = None -diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/pdf/from_comic.py calibre-3.33.1/src/calibre/ebooks/pdf/from_comic.py ---- calibre-3.33.1.orig/src/calibre/ebooks/pdf/from_comic.py 2018-11-02 18:00:30.576635422 +0000 -+++ calibre-3.33.1/src/calibre/ebooks/pdf/from_comic.py 2018-11-02 17:55:13.706637692 +0000 -@@ -3,7 +3,7 @@ +diff -rupN calibre-3.39.1/src/calibre/ebooks/oeb/iterator/book.py calibre-3.39.1.new/src/calibre/ebooks/oeb/iterator/book.py +--- calibre-3.39.1/src/calibre/ebooks/oeb/iterator/book.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/ebooks/oeb/iterator/book.py 2019-02-26 11:41:29.474118987 +0100 +@@ -161,7 +161,7 @@ class EbookIterator(BookmarksMixin): + else: + ordered = [i for i in self.opf.spine if i.is_linear] + \ + [i for i in self.opf.spine if not i.is_linear] +- is_comic = input_fmt.lower() in {'cbc', 'cbz', 'cbr', 'cb7'} ++ is_comic = input_fmt.lower() in {'cbc', 'cbz', 'cb7'} + for i in ordered: + spath = i.path + mt = None +diff -rupN calibre-3.39.1/src/calibre/ebooks/pdf/from_comic.py calibre-3.39.1.new/src/calibre/ebooks/pdf/from_comic.py +--- calibre-3.39.1/src/calibre/ebooks/pdf/from_comic.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/ebooks/pdf/from_comic.py 2019-02-26 11:40:36.556704670 +0100 +@@ -3,7 +3,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' @@ -334,10 +334,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/ebooks/pdf/from_comic.py calibre-3.33 import sys from functools import partial -diff -r -u calibre-3.33.1.orig/src/calibre/gui2/actions/add.py calibre-3.33.1/src/calibre/gui2/actions/add.py ---- calibre-3.33.1.orig/src/calibre/gui2/actions/add.py 2018-11-02 18:00:30.496635423 +0000 -+++ calibre-3.33.1/src/calibre/gui2/actions/add.py 2018-11-02 17:55:07.003304405 +0000 -@@ -36,8 +36,8 @@ +diff -rupN calibre-3.39.1/src/calibre/gui2/actions/add.py calibre-3.39.1.new/src/calibre/gui2/actions/add.py +--- calibre-3.39.1/src/calibre/gui2/actions/add.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/gui2/actions/add.py 2019-02-26 11:40:36.556704670 +0100 +@@ -36,8 +36,8 @@ def get_filters(): (_('HTML books'), ['htm', 'html', 'xhtm', 'xhtml']), (_('LIT books'), ['lit']), (_('Text books'), ['txt', 'text', 'rtf', 'md', 'markdown', 'textile', 'txtz']), @@ -348,7 +348,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/actions/add.py calibre-3.33.1/sr (_('Wordprocessor files'), ['odt', 'doc', 'docx']), ] -@@ -64,10 +64,10 @@ +@@ -64,10 +64,10 @@ class AddAction(InterfaceAction): 'sub-directories (Multiple books per directory, assumes every ' 'e-book file is a different book)')).triggered.connect( self.add_recursive_multiple) @@ -362,7 +362,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/actions/add.py calibre-3.33.1/sr connect_lambda(self.create_menu_action( arm, 'recursive-multiple-archive', _('Multiple books per directory in the archive')).triggered, self, lambda self: self.add_archive(False)) -@@ -201,7 +201,7 @@ +@@ -201,7 +201,7 @@ class AddAction(InterfaceAction): def add_archive(self, single): paths = choose_files( self.gui, 'recursive-archive-add', _('Choose archive file'), @@ -371,10 +371,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/actions/add.py calibre-3.33.1/sr if paths: self.do_add_recursive(paths, single, list_of_archives=True) -diff -r -u calibre-3.33.1.orig/src/calibre/gui2/actions/preferences.py calibre-3.33.1/src/calibre/gui2/actions/preferences.py ---- calibre-3.33.1.orig/src/calibre/gui2/actions/preferences.py 2018-11-02 18:00:30.493302089 +0000 -+++ calibre-3.33.1/src/calibre/gui2/actions/preferences.py 2018-11-02 17:55:14.219971026 +0000 -@@ -29,8 +29,6 @@ +diff -rupN calibre-3.39.1/src/calibre/gui2/actions/preferences.py calibre-3.39.1.new/src/calibre/gui2/actions/preferences.py +--- calibre-3.39.1/src/calibre/gui2/actions/preferences.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/gui2/actions/preferences.py 2019-02-26 11:40:36.556704670 +0100 +@@ -29,8 +29,6 @@ class PreferencesAction(InterfaceAction) pm.addAction(QIcon(I('config.png')), _('Preferences'), self.do_config) cm('welcome wizard', _('Run Welcome &wizard'), icon='wizard.png', triggered=self.gui.run_wizard) @@ -383,10 +383,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/actions/preferences.py calibre-3 if not DEBUG: pm.addSeparator() cm('restart', _('Restart in debug mode'), icon='debug.png', -diff -r -u calibre-3.33.1.orig/src/calibre/gui2/add.py calibre-3.33.1/src/calibre/gui2/add.py ---- calibre-3.33.1.orig/src/calibre/gui2/add.py 2018-11-02 18:00:30.493302089 +0000 -+++ calibre-3.33.1/src/calibre/gui2/add.py 2018-11-02 17:55:14.443304356 +0000 -@@ -167,9 +167,6 @@ +diff -rupN calibre-3.39.1/src/calibre/gui2/add.py calibre-3.39.1.new/src/calibre/gui2/add.py +--- calibre-3.39.1/src/calibre/gui2/add.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/gui2/add.py 2019-02-26 11:40:36.556704670 +0100 +@@ -167,9 +167,6 @@ class Adder(QObject): prints('Corrupt ZIP file, trying to use local headers') from calibre.utils.localunzip import extractall extractall(source, tdir) @@ -396,10 +396,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/add.py calibre-3.33.1/src/calibr return tdir try: -diff -r -u calibre-3.33.1.orig/src/calibre/gui2/dialogs/comicconf.py calibre-3.33.1/src/calibre/gui2/dialogs/comicconf.py ---- calibre-3.33.1.orig/src/calibre/gui2/dialogs/comicconf.py 2018-11-02 18:00:30.473302090 +0000 -+++ calibre-3.33.1/src/calibre/gui2/dialogs/comicconf.py 2018-11-02 17:55:14.649971023 +0000 -@@ -33,7 +33,7 @@ +diff -rupN calibre-3.39.1/src/calibre/gui2/dialogs/comicconf.py calibre-3.39.1.new/src/calibre/gui2/dialogs/comicconf.py +--- calibre-3.39.1/src/calibre/gui2/dialogs/comicconf.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/gui2/dialogs/comicconf.py 2019-02-26 11:40:36.560038051 +0100 +@@ -33,7 +33,7 @@ def get_conversion_options(window, defau class ComicConf(QDialog, Ui_Dialog): def __init__(self, window, config_defaults=None, generic=True, @@ -408,10 +408,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/dialogs/comicconf.py calibre-3.3 QDialog.__init__(self, window) Ui_Dialog.__init__(self) self.setupUi(self) -diff -r -u calibre-3.33.1.orig/src/calibre/gui2/__init__.py calibre-3.33.1/src/calibre/gui2/__init__.py ---- calibre-3.33.1.orig/src/calibre/gui2/__init__.py 2018-11-02 18:00:30.496635423 +0000 -+++ calibre-3.33.1/src/calibre/gui2/__init__.py 2018-11-02 17:55:13.969971028 +0000 -@@ -191,8 +191,6 @@ +diff -rupN calibre-3.39.1/src/calibre/gui2/__init__.py calibre-3.39.1.new/src/calibre/gui2/__init__.py +--- calibre-3.39.1/src/calibre/gui2/__init__.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/gui2/__init__.py 2019-02-26 11:40:36.560038051 +0100 +@@ -191,8 +191,6 @@ def _config(): # {{{ help=_('Confirm before deleting')) c.add_opt('main_window_geometry', default=None, help=_('Main window geometry')) @@ -420,10 +420,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/__init__.py calibre-3.33.1/src/c c.add_opt('use_roman_numerals_for_series_number', default=True, help=_('Use Roman numerals for series number')) c.add_opt('sort_tags_by', default='name', -diff -r -u calibre-3.33.1.orig/src/calibre/gui2/preferences/behavior.py calibre-3.33.1/src/calibre/gui2/preferences/behavior.py ---- calibre-3.33.1.orig/src/calibre/gui2/preferences/behavior.py 2018-11-02 18:00:30.456635423 +0000 -+++ calibre-3.33.1/src/calibre/gui2/preferences/behavior.py 2018-11-02 17:55:06.426637746 +0000 -@@ -40,7 +40,6 @@ +diff -rupN calibre-3.39.1/src/calibre/gui2/preferences/behavior.py calibre-3.39.1.new/src/calibre/gui2/preferences/behavior.py +--- calibre-3.39.1/src/calibre/gui2/preferences/behavior.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/gui2/preferences/behavior.py 2019-02-26 11:40:36.560038051 +0100 +@@ -40,7 +40,6 @@ class ConfigWidget(ConfigWidgetBase, Ui_ r('network_timeout', prefs) @@ -431,7 +431,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/preferences/behavior.py calibre- r('upload_news_to_device', config) r('delete_news_from_library_on_upload', config) -@@ -140,7 +139,7 @@ +@@ -140,7 +139,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_ input_map = prefs['input_format_order'] all_formats = set() self.opt_input_order.clear() @@ -440,9 +440,9 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/preferences/behavior.py calibre- all_formats.add(fmt.upper()) for format in input_map + list(all_formats.difference(input_map)): item = QListWidgetItem(format, self.opt_input_order) -diff -r -u calibre-3.33.1.orig/src/calibre/gui2/preferences/behavior.ui calibre-3.33.1/src/calibre/gui2/preferences/behavior.ui ---- calibre-3.33.1.orig/src/calibre/gui2/preferences/behavior.ui 2018-11-02 18:00:30.456635423 +0000 -+++ calibre-3.33.1/src/calibre/gui2/preferences/behavior.ui 2018-11-02 17:55:14.843304353 +0000 +diff -rupN calibre-3.39.1/src/calibre/gui2/preferences/behavior.ui calibre-3.39.1.new/src/calibre/gui2/preferences/behavior.ui +--- calibre-3.39.1/src/calibre/gui2/preferences/behavior.ui 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/gui2/preferences/behavior.ui 2019-02-26 11:40:36.560038051 +0100 @@ -16,13 +16,6 @@ @@ -457,10 +457,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/preferences/behavior.ui calibre- -diff -r -u calibre-3.33.1.orig/src/calibre/gui2/update.py calibre-3.33.1/src/calibre/gui2/update.py ---- calibre-3.33.1.orig/src/calibre/gui2/update.py 2018-11-02 18:00:30.433302090 +0000 -+++ calibre-3.33.1/src/calibre/gui2/update.py 2018-11-02 18:20:59.376626554 +0000 -@@ -6,15 +6,13 @@ +diff -rupN calibre-3.39.1/src/calibre/gui2/update.py calibre-3.39.1.new/src/calibre/gui2/update.py +--- calibre-3.39.1/src/calibre/gui2/update.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/gui2/update.py 2019-02-26 11:40:36.560038051 +0100 +@@ -6,15 +6,13 @@ from polyglot.builtins import map from threading import Thread, Event from PyQt5.Qt import (QObject, pyqtSignal, Qt, QUrl, QDialog, QGridLayout, @@ -479,7 +479,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/update.py calibre-3.33.1/src/cal from calibre.gui2.dialogs.plugin_updater import get_plugin_updates_available URL = 'https://code.calibre-ebook.com/latest' -@@ -31,35 +29,7 @@ +@@ -31,35 +29,7 @@ def get_download_url(): def get_newest_version(): @@ -516,7 +516,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/update.py calibre-3.33.1/src/cal class Signal(QObject): -@@ -82,12 +52,6 @@ +@@ -82,12 +52,6 @@ class CheckForUpdates(Thread): calibre_update_version = NO_CALIBRE_UPDATE plugins_update_found = 0 try: @@ -529,7 +529,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/update.py calibre-3.33.1/src/cal update_plugins = get_plugin_updates_available(raise_error=True) if update_plugins is not None: plugins_update_found = len(update_plugins) -@@ -132,11 +96,6 @@ +@@ -132,11 +96,6 @@ class UpdateNotification(QDialog): self.setWindowIcon(QIcon(I('lt.png'))) self.l.addWidget(self.logo, 0, 0) self.l.addWidget(self.label, 0, 1) @@ -541,7 +541,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/update.py calibre-3.33.1/src/cal self.bb = QDialogButtonBox(self) b = self.bb.addButton(_('&Get update'), self.bb.AcceptRole) b.setDefault(True) -@@ -164,9 +123,6 @@ +@@ -164,9 +123,6 @@ class UpdateNotification(QDialog): if gui is not None: gui.quit(restart=True) @@ -551,7 +551,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/update.py calibre-3.33.1/src/cal def accept(self): open_url(QUrl(get_download_url())) -@@ -214,7 +170,7 @@ +@@ -214,7 +170,7 @@ class UpdateMixin(object): self.status_bar.update_label.setVisible(True) if has_calibre_update: @@ -560,10 +560,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/gui2/update.py calibre-3.33.1/src/cal if not no_show_popup: self._update_notification__ = UpdateNotification(calibre_version, number_of_plugin_updates, parent=self) -diff -r -u calibre-3.33.1.orig/src/calibre/__init__.py calibre-3.33.1/src/calibre/__init__.py ---- calibre-3.33.1.orig/src/calibre/__init__.py 2018-11-02 18:00:30.683302087 +0000 -+++ calibre-3.33.1/src/calibre/__init__.py 2018-11-02 17:55:09.219971061 +0000 -@@ -298,10 +298,7 @@ +diff -rupN calibre-3.39.1/src/calibre/__init__.py calibre-3.39.1.new/src/calibre/__init__.py +--- calibre-3.39.1/src/calibre/__init__.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/__init__.py 2019-02-26 11:40:36.560038051 +0100 +@@ -298,10 +298,7 @@ def extract(path, dir): # First use the file header to identify its type with open(path, 'rb') as f: id_ = f.read(3) @@ -575,7 +575,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/__init__.py calibre-3.33.1/src/calibr from calibre.libunzip import extract as zipextract extractor = zipextract if extractor is None: -@@ -310,9 +307,6 @@ +@@ -310,9 +307,6 @@ def extract(path, dir): if ext in ['zip', 'cbz', 'epub', 'oebzip']: from calibre.libunzip import extract as zipextract extractor = zipextract @@ -585,10 +585,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/__init__.py calibre-3.33.1/src/calibr if extractor is None: raise Exception('Unknown archive type') extractor(path, dir) -diff -r -u calibre-3.33.1.orig/src/calibre/linux.py calibre-3.33.1/src/calibre/linux.py ---- calibre-3.33.1.orig/src/calibre/linux.py 2018-11-02 18:00:30.409968757 +0000 -+++ calibre-3.33.1/src/calibre/linux.py 2018-11-02 17:55:15.033304353 +0000 -@@ -318,7 +318,7 @@ +diff -rupN calibre-3.39.1/src/calibre/linux.py calibre-3.39.1.new/src/calibre/linux.py +--- calibre-3.39.1/src/calibre/linux.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/linux.py 2019-02-26 11:40:36.560038051 +0100 +@@ -318,7 +318,7 @@ class ZshCompleter(object): # {{{ ): for fmt in fmts: is_input = group_title == input_group @@ -597,10 +597,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/linux.py calibre-3.33.1/src/calibre/l continue p = (get_parser(input_fmt=fmt) if is_input else get_parser(output_fmt=fmt)) -diff -r -u calibre-3.33.1.orig/src/calibre/srv/render_book.py calibre-3.33.1/src/calibre/srv/render_book.py ---- calibre-3.33.1.orig/src/calibre/srv/render_book.py 2018-11-02 18:00:30.406635424 +0000 -+++ calibre-3.33.1/src/calibre/srv/render_book.py 2018-11-02 17:54:41.786637925 +0000 -@@ -195,7 +195,7 @@ +diff -rupN calibre-3.39.1/src/calibre/srv/render_book.py calibre-3.39.1.new/src/calibre/srv/render_book.py +--- calibre-3.39.1/src/calibre/srv/render_book.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/srv/render_book.py 2019-02-26 11:40:36.560038051 +0100 +@@ -195,7 +195,7 @@ class Container(ContainerBase): 'spine':spine, 'link_uid': uuid4(), 'book_hash': book_hash, @@ -609,10 +609,38 @@ diff -r -u calibre-3.33.1.orig/src/calibre/srv/render_book.py calibre-3.33.1/src 'raster_cover_name': raster_cover_name, 'title_page_name': titlepage_name, 'has_maths': False, -diff -r -u calibre-3.33.1.orig/src/calibre/test_build.py calibre-3.33.1/src/calibre/test_build.py ---- calibre-3.33.1.orig/src/calibre/test_build.py 2018-11-02 18:00:30.406635424 +0000 -+++ calibre-3.33.1/src/calibre/test_build.py 2018-11-02 17:55:15.236637685 +0000 -@@ -218,10 +218,6 @@ +diff -rupN calibre-3.39.1/src/calibre/srv/tests/loop.py calibre-3.39.1.new/src/calibre/srv/tests/loop.py +--- calibre-3.39.1/src/calibre/srv/tests/loop.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/srv/tests/loop.py 2019-02-26 11:42:14.074747922 +0100 +@@ -108,24 +108,6 @@ class LoopTest(BaseTest): + with TestServer(lambda data:(data.path[0] + data.read()), listen_on='1.1.1.1', fallback_to_detected_interface=True, specialize=specialize) as server: + self.assertNotEqual('1.1.1.1', server.address[0]) + +- @skipIf(is_ci, 'Continuous Integration servers do not support BonJour') +- def test_bonjour(self): +- 'Test advertising via BonJour' +- from calibre.srv.bonjour import BonJour +- from calibre.utils.Zeroconf import Zeroconf +- b = BonJour() +- with TestServer(lambda data:(data.path[0] + data.read()), plugins=(b,), shutdown_timeout=5) as server: +- self.assertTrue(b.started.wait(5), 'BonJour not started') +- self.ae(b.advertised_port, server.address[1]) +- service = b.services[0] +- self.ae(service.type, b'_calibre._tcp.local.') +- r = Zeroconf() +- info = r.getServiceInfo(service.type, service.name) +- self.assertIsNotNone(info) +- self.ae(info.text, b'\npath=/opds') +- +- self.assertTrue(b.stopped.wait(5), 'BonJour not stopped') +- + def test_dual_stack(self): + from calibre.srv.loop import IPPROTO_IPV6 + with TestServer(lambda data:(data.path[0] + data.read()), listen_on='::') as server: +diff -rupN calibre-3.39.1/src/calibre/test_build.py calibre-3.39.1.new/src/calibre/test_build.py +--- calibre-3.39.1/src/calibre/test_build.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/test_build.py 2019-02-26 11:40:36.563371432 +0100 +@@ -220,10 +220,6 @@ class BuildTest(unittest.TestCase): from calibre.gui2.win_file_dialogs import test test() @@ -623,10 +651,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/test_build.py calibre-3.33.1/src/cali @unittest.skipUnless(iswindows, 'WPD is windows only') def test_wpd(self): wpd = plugins['wpd'][0] -diff -r -u calibre-3.33.1.orig/src/calibre/utils/file_type_icons.py calibre-3.33.1/src/calibre/utils/file_type_icons.py ---- calibre-3.33.1.orig/src/calibre/utils/file_type_icons.py 2018-11-02 18:00:30.403302090 +0000 -+++ calibre-3.33.1/src/calibre/utils/file_type_icons.py 2018-11-02 17:54:45.416637897 +0000 -@@ -16,7 +16,6 @@ +diff -rupN calibre-3.39.1/src/calibre/utils/file_type_icons.py calibre-3.39.1.new/src/calibre/utils/file_type_icons.py +--- calibre-3.39.1/src/calibre/utils/file_type_icons.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/utils/file_type_icons.py 2019-02-26 11:40:36.563371432 +0100 +@@ -16,7 +16,6 @@ EXT_MAP = { 'png' : 'png', 'bmp' : 'bmp', 'cbz' : 'cbz', @@ -634,7 +662,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/file_type_icons.py calibre-3.33 'svg' : 'svg', 'html' : 'html', 'htmlz' : 'html', -@@ -28,7 +27,6 @@ +@@ -28,7 +27,6 @@ EXT_MAP = { 'lrx' : 'lrx', 'pdf' : 'pdf', 'pdr' : 'zero', @@ -642,10 +670,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/file_type_icons.py calibre-3.33 'zip' : 'zip', 'txt' : 'txt', 'text' : 'txt', -diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py calibre-3.33.1/src/calibre/utils/search_query_parser_test.py ---- calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py 2018-11-02 18:00:30.396635424 +0000 -+++ calibre-3.33.1/src/calibre/utils/search_query_parser_test.py 2018-11-02 17:55:15.446637679 +0000 -@@ -30,16 +30,16 @@ +diff -rupN calibre-3.39.1/src/calibre/utils/search_query_parser_test.py calibre-3.39.1.new/src/calibre/utils/search_query_parser_test.py +--- calibre-3.39.1/src/calibre/utils/search_query_parser_test.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/utils/search_query_parser_test.py 2019-02-26 11:40:36.563371432 +0100 +@@ -30,16 +30,16 @@ class Tester(SearchQueryParser): u'Tor Books', u'lrf'], 8: [u'Stalky and Co.', u'Rudyard Kipling', u'manybooks.net', u'lrf'], @@ -667,7 +695,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal 16: [u'Quicksilver', u'Neal Stephenson', None, u'lrf,zip'], 17: [u'The Comedies of William Shakespeare', u'William Shakespeare', -@@ -54,15 +54,15 @@ +@@ -54,15 +54,15 @@ class Tester(SearchQueryParser): None, u'lrf'], 20: [u'An Ideal Husband', u'Oscar Wilde', u'manybooks.net', u'lrf'], @@ -692,7 +720,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal 30: [u'Genghis Khan and The Making of the Modern World', u'Jack Weatherford Orc', u'Three Rivers Press', -@@ -73,9 +73,9 @@ +@@ -73,9 +73,9 @@ class Tester(SearchQueryParser): u'lrf,zip'], 32: [u'The Killer Angels', u'Michael Shaara', None, u'html,lrf'], 33: [u'Band Of Brothers', u'Stephen E Ambrose', None, u'lrf,txt'], @@ -704,7 +732,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal 37: [u'Masterman Ready', u'Marryat, Captain Frederick', None, u'lrf'], 38: [u'With the Lightnings', u'David Drake', -@@ -88,16 +88,16 @@ +@@ -88,16 +88,16 @@ class Tester(SearchQueryParser): 40: [u'The Far Side of The Stars', u'David Drake', u'Baen Publishing Enterprises', @@ -725,7 +753,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal 44: [u'Harry Potter and the Order of the Phoenix', u'J. K. Rowling', None, -@@ -106,12 +106,12 @@ +@@ -106,12 +106,12 @@ class Tester(SearchQueryParser): 46: [u'The Stars at War II', u'Steve White', u'Baen Publishing Enterprises', @@ -741,7 +769,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal 49: [u'Harry Potter and the Prisoner of Azkaban', u'J. K. Rowling', None, -@@ -124,20 +124,20 @@ +@@ -124,20 +124,20 @@ class Tester(SearchQueryParser): u'J.K. Rowling', None, u'lit,lrf,pdf'], @@ -767,7 +795,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal 89: [u'Master and commander', u"Patrick O'Brian", u'Fontana,\n1971', -@@ -145,7 +145,7 @@ +@@ -145,7 +145,7 @@ class Tester(SearchQueryParser): 91: [u'A Companion to Wolves', u'Sarah Monette,Elizabeth Beär', None, @@ -776,7 +804,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal 92: [u'The Lions of al-Rassan', u'Guy Gavriel Kay', u'Eos', u'lit,lrf'], 93: [u'Gardens of the Moon', u'Steven Erikson', u'Tor Fantasy', u'lit,lrf'], 95: [u'The Master and Margarita', -@@ -169,7 +169,7 @@ +@@ -169,7 +169,7 @@ class Tester(SearchQueryParser): 144: [u'Atonement', u'Ian McEwan', u'New York : Nan A. Talese/Doubleday, 2002.', @@ -785,7 +813,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal 146: [u'1632', u'Eric Flint', u'Baen Books', u'lit,lrf'], 147: [u'1633', u'David Weber,Eric Flint,Dru Blair', u'Baen', u'lit,lrf'], 148: [u'1634: The Baltic War', -@@ -222,7 +222,7 @@ +@@ -222,7 +222,7 @@ class Tester(SearchQueryParser): 253: [u"Hunter's Run", u'George R. R. Martin,Gardner Dozois,Daniel Abraham', u'Eos', @@ -794,7 +822,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal 257: [u'Knife of Dreams', u'Robert Jordan', None, u'lit,lrf'], 258: [u'Saturday', u'Ian McEwan', -@@ -242,7 +242,7 @@ +@@ -242,7 +242,7 @@ class Tester(SearchQueryParser): u'New York : Random House, 2005.', u'lit,lrf'], 269: [u'Reap the Whirlwind', u'David Mack', u'Star Trek', u'lit,lrf'], @@ -803,7 +831,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal 273: [u'The Thousandfold Thought', u'R. Scott Bakker', u'Overlook TP', -@@ -250,17 +250,17 @@ +@@ -250,17 +250,17 @@ class Tester(SearchQueryParser): 276: [u'Elantris', u'Brandon Sanderson', u'New York : Tor, 2005.', @@ -825,7 +853,7 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal 325: [u"Foundation's Triumph", u'David Brin', u'Easton Press', u'lit,lrf'], 327: [u'I am Charlotte Simmons', u'Tom Wolfe', u'Vintage', u'htm,lrf'], 335: [u'The Currents of Space', u'Isaac Asimov', None, u'lit,lrf'], -@@ -290,15 +290,15 @@ +@@ -290,15 +290,15 @@ class Tester(SearchQueryParser): u'Aspect', u'lit,lrf'], 356: [u'The Naked God', u'Peter F. Hamilton', u'Aspect', u'lit,lrf'], @@ -844,10 +872,10 @@ diff -r -u calibre-3.33.1.orig/src/calibre/utils/search_query_parser_test.py cal } tests = { -diff -r -u calibre-3.33.1.orig/src/calibre/web/feeds/feedparser.py calibre-3.33.1/src/calibre/web/feeds/feedparser.py ---- calibre-3.33.1.orig/src/calibre/web/feeds/feedparser.py 2018-11-02 18:00:30.393302091 +0000 -+++ calibre-3.33.1/src/calibre/web/feeds/feedparser.py 2018-11-02 17:55:04.466637761 +0000 -@@ -2081,7 +2081,7 @@ +diff -rupN calibre-3.39.1/src/calibre/web/feeds/feedparser.py calibre-3.39.1.new/src/calibre/web/feeds/feedparser.py +--- calibre-3.39.1/src/calibre/web/feeds/feedparser.py 2019-02-01 18:43:29.000000000 +0100 ++++ calibre-3.39.1.new/src/calibre/web/feeds/feedparser.py 2019-02-26 11:40:36.563371432 +0100 +@@ -2081,7 +2081,7 @@ class _MicroformatsParser: EMAIL = 5 known_xfn_relationships = {'contact', 'acquaintance', 'friend', 'met', 'co-worker', 'coworker', 'colleague', 'co-resident', 'coresident', 'neighbor', 'child', 'parent', 'sibling', 'brother', 'sister', 'spouse', 'wife', 'husband', 'kin', 'relative', 'muse', 'crush', 'date', 'sweetheart', 'me'} @@ -856,30 +884,3 @@ diff -r -u calibre-3.33.1.orig/src/calibre/web/feeds/feedparser.py calibre-3.33. def __init__(self, data, baseuri, encoding): self.document = BeautifulSoup.BeautifulSoup(data) ---- calibre-3.33.1.orig/src/calibre/srv/tests/loop.py 2018-10-19 00:00:54.000000000 -0500 -+++ calibre-3.33.1/src/calibre/srv/tests/loop.py 2018-11-08 12:25:51.575170672 -0500 -@@ -108,24 +108,6 @@ - with TestServer(lambda data:(data.path[0] + data.read()), listen_on='1.1.1.1', fallback_to_detected_interface=True, specialize=specialize) as server: - self.assertNotEqual('1.1.1.1', server.address[0]) - -- @skipIf(is_ci, 'Continuous Integration servers do not support BonJour') -- def test_bonjour(self): -- 'Test advertising via BonJour' -- from calibre.srv.bonjour import BonJour -- from calibre.utils.Zeroconf import Zeroconf -- b = BonJour() -- with TestServer(lambda data:(data.path[0] + data.read()), plugins=(b,), shutdown_timeout=5) as server: -- self.assertTrue(b.started.wait(5), 'BonJour not started') -- self.ae(b.advertised_port, server.address[1]) -- service = b.services[0] -- self.ae(service.type, b'_calibre._tcp.local.') -- r = Zeroconf() -- info = r.getServiceInfo(service.type, service.name) -- self.assertIsNotNone(info) -- self.ae(info.text, b'\npath=/opds') -- -- self.assertTrue(b.stopped.wait(5), 'BonJour not stopped') -- - def test_ring_buffer(self): - 'Test the ring buffer used for reads' - class FakeSocket(object): -- cgit v1.2.3