diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2020-07-22 03:13:12 -0400 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2020-08-02 17:05:41 -0400 |
commit | b450dad250c3d4bb86d1fd07487deabd9216a6fe (patch) | |
tree | c82f991aa79e2efcd135ad4158b7d01d2e50e6b8 /libre/calibre/libre.patch | |
parent | f8689408d1528c0e276f049d56339631657e5d13 (diff) | |
download | abslibre-b450dad250c3d4bb86d1fd07487deabd9216a6fe.tar.gz abslibre-b450dad250c3d4bb86d1fd07487deabd9216a6fe.tar.bz2 abslibre-b450dad250c3d4bb86d1fd07487deabd9216a6fe.zip |
[calibre->calibre3]: rename package and backport new patch
Diffstat (limited to 'libre/calibre/libre.patch')
-rw-r--r-- | libre/calibre/libre.patch | 817 |
1 files changed, 0 insertions, 817 deletions
diff --git a/libre/calibre/libre.patch b/libre/calibre/libre.patch deleted file mode 100644 index 20fefb07b..000000000 --- a/libre/calibre/libre.patch +++ /dev/null @@ -1,817 +0,0 @@ ---- calibre-3.46.0.orig/manual/conversion.rst 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/manual/conversion.rst 2019-08-26 01:03:19.365098742 -0500 -@@ -747,7 +747,7 @@ - Comic book collections - ~~~~~~~~~~~~~~~~~~~~~~~~~ - --A comic book collection is a .cbc file. A .cbc file is a ZIP file that contains other CBZ/CBR files. In addition the -+A comic book collection is a .cbc file. A .cbc file is a ZIP file that contains other CBZ files. In addition the - .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:: - ---- calibre-3.46.0.orig/manual/faq.rst 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/manual/faq.rst 2019-08-26 01:07:40.285096018 -0500 -@@ -18,7 +18,7 @@ - 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. - --*Input Formats:* AZW, AZW3, AZW4, CBZ, CBR, CBC, CHM, DJVU, DOCX, EPUB, FB2, FBZ, HTML, HTMLZ, LIT, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ -+*Input Formats:* AZW, AZW3, AZW4, CBZ, CBC, CHM, DJVU, DOCX, EPUB, FB2, FBZ, HTML, HTMLZ, LIT, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ - - *Output Formats:* AZW3, EPUB, DOCX, FB2, HTMLZ, OEB, LIT, LRF, MOBI, PDB, PMLZ, RB, PDF, RTF, SNB, TCR, TXT, TXTZ, ZIP - ---- calibre-3.46.0.orig/manual/gui.rst 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/manual/gui.rst 2019-08-26 01:09:15.315095026 -0500 -@@ -51,7 +51,7 @@ - - 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. - -- 4. **Add multiple books from archive (ZIP/RAR)**: Allows you to add multiple e-books that are stored inside the selected ZIP or RAR files. It is a convenient shortcut that avoids having to first unzip the archive and then add the books via one of the above two options. -+ 4. **Add multiple books from archive (ZIP)**: Allows you to add multiple e-books that are stored inside the selected ZIP files. It is a convenient shortcut that avoids having to first unzip the archive and then add the books via one of the above two options. - - 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. - ---- calibre-3.46.0.orig/resources/mime.types 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/resources/mime.types 2019-08-26 01:12:33.905092952 -0500 -@@ -138,7 +138,6 @@ - application/prs.nprend - application/prs.plucker - application/qsig --application/rar rar - application/rdf+xml rdf - application/reginfo+xml rif - application/relax-ng-compact-syntax rnc -@@ -849,7 +848,6 @@ - application/x-pkcs7-crl crl - application/x-python-code pyc pyo - application/x-quicktimeplayer qtl --application/x-rar-compressed rar - application/x-redhat-package-manager rpm - application/x-sh sh - application/x-shar shar -@@ -1372,7 +1370,6 @@ - application/x-kindle-application azw2 - application/x-mobi8-ebook azw3 - application/x-cbz cbz --application/x-cbr cbr - application/x-cb7 cb7 - application/x-cbc cbc - application/x-koboreader-ebook kobo ---- calibre-3.46.0.orig/setup/resources.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/setup/resources.py 2019-08-26 16:14:52.537133971 -0500 -@@ -348,7 +348,7 @@ - log = Log() - # log.outputs = [] - for inf in supported_input_formats(): -- if inf in ('zip', 'rar', 'oebzip'): -+ if inf in ('zip', 'oebzip'): - continue - for ouf in available_output_formats(): - of = ouf if ouf == 'oeb' else 'dummy.'+ouf ---- calibre-3.46.0.orig/src/calibre/customize/builtins.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/customize/builtins.py 2019-08-26 16:19:10.547135583 -0500 -@@ -133,7 +133,7 @@ - class ComicMetadataReader(MetadataReaderPlugin): - - name = 'Read comic metadata' -- file_types = {'cbr', 'cbz'} -+ file_types = {'cbz'} - description = _('Extract cover from comic files') - - def customization_help(self, gui=False): -@@ -144,19 +144,14 @@ - pos = stream.tell() - id_ = stream.read(3) - stream.seek(pos) -- if id_ == b'Rar': -- ftype = 'cbr' -- elif id_.startswith(b'PK'): -+ if id_.startswith(b'PK'): - ftype = 'cbz' -- if ftype == 'cbr': -- from calibre.utils.unrar import extract_cover_image -- else: -- from calibre.libunzip import extract_cover_image -+ from calibre.libunzip import extract_cover_image - from calibre.ebooks.metadata import MetaInformation - ret = extract_cover_image(stream) - mi = MetaInformation(None, None) - stream.seek(0) -- if ftype in {'cbr', 'cbz'}: -+ if ftype in {'cbz'}: - series_index = self.site_customization - if series_index not in {'volume', 'issue'}: - series_index = 'volume' -@@ -355,17 +350,6 @@ - return get_metadata(stream) - - --class RARMetadataReader(MetadataReaderPlugin): -- -- name = 'Read RAR metadata' -- file_types = {'rar'} -- description = _('Read metadata from e-books in RAR archives') -- -- def get_metadata(self, stream, ftype): -- from calibre.ebooks.metadata.rar import get_metadata -- return get_metadata(stream) -- -- - class RBMetadataReader(MetadataReaderPlugin): - - name = 'Read RB metadata' ---- calibre-3.46.0.orig/src/calibre/customize/ui.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/customize/ui.py 2019-08-26 16:22:32.957136847 -0500 -@@ -538,7 +538,7 @@ - if not is_disabled(plugin): - for format in plugin.file_types: - formats.add(format) -- formats.add('zip'), formats.add('rar') -+ formats.add('zip') - return formats - - ---- calibre-3.46.0.orig/src/calibre/devices/kobo/driver.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/devices/kobo/driver.py 2019-08-26 16:24:06.647137432 -0500 -@@ -92,7 +92,7 @@ - book_class = Book - - # Ordered list of supported formats -- FORMATS = ['kepub', 'epub', 'pdf', 'txt', 'cbz', 'cbr'] -+ FORMATS = ['kepub', 'epub', 'pdf', 'txt', 'cbz'] - CAN_SET_METADATA = ['collections'] - - VENDOR_ID = [0x2237] ---- calibre-3.46.0.orig/src/calibre/devices/misc.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/devices/misc.py 2019-08-26 16:25:22.907137908 -0500 -@@ -448,7 +448,7 @@ - EBOOK_DIR_MAIN = 'Documents' - SCAN_FROM_ROOT = True - -- VENDOR_NAME = ['ROCKCHIP', 'CBR'] -+ VENDOR_NAME = ['ROCKCHIP'] - WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = ['RK28_SDK_DEMO', 'EINK_EBOOK_READE'] - SUPPORTS_SUB_DIRS = True - ---- calibre-3.46.0.orig/src/calibre/devices/mtp/filesystem_cache.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/devices/mtp/filesystem_cache.py 2019-08-26 16:26:18.837138258 -0500 -@@ -17,7 +17,7 @@ - from calibre.utils.icu import sort_key, lower - from calibre.ebooks import BOOK_EXTENSIONS - --bexts = frozenset(BOOK_EXTENSIONS) - {'mbp', 'tan', 'rar', 'zip', 'xml'} -+bexts = frozenset(BOOK_EXTENSIONS) - {'mbp', 'tan', 'zip', 'xml'} - - - class FileOrFolder(object): ---- calibre-3.46.0.orig/src/calibre/ebooks/comic/__init__.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/ebooks/comic/__init__.py 2019-08-26 16:28:07.637138937 -0500 -@@ -6,7 +6,7 @@ - __docformat__ = 'restructuredtext en' - - ''' --Convert CBR/CBZ files to LRF. -+Convert CBZ files to LRF. - ''' - - import sys ---- calibre-3.46.0.orig/src/calibre/ebooks/conversion/plugins/comic_input.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/ebooks/conversion/plugins/comic_input.py 2019-08-26 16:30:49.127139946 -0500 -@@ -20,8 +20,8 @@ - - name = 'Comic Input' - author = 'Kovid Goyal' -- description = 'Optimize comic files (.cbz, .cbr, .cbc) for viewing on portable devices' -- file_types = {'cbz', 'cbr', 'cbc'} -+ description = 'Optimize comic files (.cbz, .cbc) for viewing on portable devices' -+ file_types = {'cbz', 'cbc'} - is_image_collection = True - commit_name = 'comic_input' - core_usage = -1 ---- calibre-3.46.0.orig/src/calibre/ebooks/conversion/plumber.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/ebooks/conversion/plumber.py 2019-08-26 16:32:33.387140597 -0500 -@@ -46,7 +46,7 @@ - - def supported_input_formats(): - fmts = available_input_formats() -- for x in ('zip', 'rar', 'oebzip'): -+ for x in ('zip', 'oebzip'): - fmts.add(x) - return fmts - -@@ -67,7 +67,7 @@ - self.global_reporter(global_frac, msg) - - --ARCHIVE_FMTS = ('zip', 'rar', 'oebzip') -+ARCHIVE_FMTS = ('zip', 'oebzip') - - - class Plumber(object): ---- calibre-3.46.0.orig/src/calibre/ebooks/__init__.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/ebooks/__init__.py 2019-08-26 16:33:48.557141066 -0500 -@@ -33,9 +33,9 @@ - pass - - --BOOK_EXTENSIONS = ['lrf', 'rar', 'zip', 'rtf', 'lit', 'txt', 'txtz', 'text', 'htm', 'xhtm', -+BOOK_EXTENSIONS = ['lrf', 'zip', 'rtf', 'lit', 'txt', 'txtz', 'text', 'htm', 'xhtm', - 'html', 'htmlz', 'xhtml', 'pdf', 'pdb', 'updb', 'pdr', 'prc', 'mobi', 'azw', 'doc', -- 'epub', 'fb2', 'fbz', 'djv', 'djvu', 'lrx', 'cbr', 'cbz', 'cbc', 'oebzip', -+ 'epub', 'fb2', 'fbz', 'djv', 'djvu', 'lrx', 'cbz', 'cbc', 'oebzip', - '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'] ---- calibre-3.46.0.orig/src/calibre/ebooks/metadata/archive.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/ebooks/metadata/archive.py 2019-08-26 16:47:19.547146131 -0500 -@@ -30,8 +30,6 @@ - ans = None - if id_ == stringFileHeader: - ans = 'zip' -- elif id_.startswith(b'Rar'): -- ans = 'rar' - try: - stream.seek(pos) - except Exception: -@@ -43,24 +41,16 @@ - name = 'Archive Extract' - author = 'Kovid Goyal' - description = _('Extract common e-book formats from archive files ' -- '(ZIP/RAR). Also try to autodetect if they are actually ' -- 'CBZ/CBR files.') -- file_types = {'zip', 'rar'} -+ '(ZIP). Also try to autodetect if they are actually ' -+ 'CBZ files.') -+ file_types = set(['zip']) - supported_platforms = ['windows', 'osx', 'linux'] - on_import = True - - def run(self, archive): - from calibre.utils.zipfile import ZipFile -- is_rar = archive.lower().endswith('.rar') -- if is_rar: -- from calibre.utils.unrar import extract_member, names -- else: -- zf = ZipFile(archive, 'r') -- -- if is_rar: -- fnames = list(names(archive)) -- else: -- fnames = zf.namelist() -+ zf = ZipFile(archive, 'r') -+ fnames = zf.namelist() - - def fname_ok(fname): - bn = os.path.basename(fname).lower() -@@ -76,7 +66,7 @@ - - fnames = list(filter(fname_ok, fnames)) - if is_comic(fnames): -- ext = '.cbr' if is_rar else '.cbz' -+ ext = '.cbz' - of = self.temporary_file('_archive_extract'+ext) - with open(archive, 'rb') as f: - of.write(f.read()) -@@ -93,11 +83,7 @@ - - of = self.temporary_file('_archive_extract.'+ext) - with closing(of): -- if is_rar: -- data = extract_member(archive, match=None, name=fname)[1] -- of.write(data) -- else: -- of.write(zf.read(fname)) -+ of.write(zf.read(fname)) - return of.name - - -@@ -168,8 +154,5 @@ - from calibre.utils.zipfile import ZipFile - zf = ZipFile(stream) - comment = zf.comment -- elif stream_type == 'cbr': -- from calibre.utils.unrar import comment as get_comment -- comment = get_comment(stream) - - return parse_comic_comment(comment or b'{}', series_index=series_index) ---- calibre-3.46.0.orig/src/calibre/ebooks/oeb/iterator/book.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/ebooks/oeb/iterator/book.py 2019-08-26 16:48:49.227146691 -0500 -@@ -160,7 +160,7 @@ - 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 ---- calibre-3.46.0.orig/src/calibre/gui2/actions/add.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/gui2/actions/add.py 2019-08-26 17:12:43.337155648 -0500 -@@ -37,8 +37,8 @@ - (_('HTML books'), ['htm', 'html', 'xhtm', 'xhtml']), - (_('LIT books'), ['lit']), - (_('Text books'), ['txt', 'text', 'rtf', 'md', 'markdown', 'textile', 'txtz']), -- (_('Comics'), ['cbz', 'cbr', 'cbc']), -- (_('Archives'), ['zip', 'rar']), -+ (_('Comics'), ['cbz', 'cbc']), -+ (_('Archives'), ['zip']), - (_('Wordprocessor files'), ['odt', 'doc', 'docx']), - ] - -@@ -65,7 +65,7 @@ - 'sub-directories (Multiple books per directory, assumes every ' - 'e-book file is a different book)')).triggered.connect( - self.add_recursive_multiple) -- arm = self.add_archive_menu = self.add_menu.addMenu(_('Add multiple books from archive (ZIP/RAR)')) -+ arm = self.add_archive_menu = self.add_menu.addMenu(_('Add multiple books from archive (ZIP)')) - connect_lambda(self.create_menu_action( - arm, 'recursive-single-archive', _('One book per directory in the archive')).triggered, - self, lambda self: self.add_archive(True)) -@@ -247,7 +247,7 @@ - def add_archive(self, single): - paths = choose_files( - self.gui, 'recursive-archive-add', _('Choose archive file'), -- filters=[(_('Archives'), ('zip', 'rar'))], all_files=False, select_only_single_file=False) -+ filters=[(_('Archives'), ('zip'))], all_files=False, select_only_single_file=False) - if paths: - self.do_add_recursive(paths, single, list_of_archives=True) - ---- calibre-3.46.0.orig/src/calibre/gui2/actions/preferences.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/gui2/actions/preferences.py 2019-08-26 17:14:54.687156468 -0500 -@@ -29,8 +29,6 @@ - pm.addAction(QIcon(I('config.png')), _('Preferences'), self.do_config) - cm('welcome wizard', _('Run Welcome &wizard'), - icon='wizard.png', triggered=self.gui.run_wizard) -- cm('plugin updater', _('Get plugins to enhance calibre'), -- icon='plugins/plugin_updater.png', triggered=self.get_plugins) - if not DEBUG: - pm.addSeparator() - cm('restart', _('Restart in debug mode'), icon='debug.png', ---- calibre-3.46.0.orig/src/calibre/gui2/add.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/gui2/add.py 2019-08-26 17:16:14.817156968 -0500 -@@ -167,9 +167,6 @@ - prints('Corrupt ZIP file, trying to use local headers') - from calibre.utils.localunzip import extractall - extractall(source, tdir) -- elif source.lower().endswith('.rar'): -- from calibre.utils.unrar import extract -- extract(source, tdir) - return tdir - - try: ---- calibre-3.46.0.orig/src/calibre/gui2/__init__.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/gui2/__init__.py 2019-08-26 17:20:41.207158632 -0500 -@@ -206,8 +206,6 @@ - help=_('Confirm before deleting')) - c.add_opt('main_window_geometry', default=None, - help=_('Main window geometry')) -- c.add_opt('new_version_notification', default=True, -- help=_('Notify when a new version is available')) - 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', ---- calibre-3.46.0.orig/src/calibre/gui2/preferences/behavior.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/gui2/preferences/behavior.py 2019-08-26 17:21:59.877159123 -0500 -@@ -41,7 +41,6 @@ - - r('network_timeout', prefs) - -- r('new_version_notification', config) - r('upload_news_to_device', config) - r('delete_news_from_library_on_upload', config) - -@@ -141,7 +140,7 @@ - input_map = prefs['input_format_order'] - all_formats = set() - self.opt_input_order.clear() -- for fmt in all_input_formats().union({'ZIP', 'RAR'}): -+ for fmt in all_input_formats().union({'ZIP'}): - all_formats.add(fmt.upper()) - for format in input_map + list(all_formats.difference(input_map)): - item = QListWidgetItem(format, self.opt_input_order) ---- calibre-3.46.0.orig/src/calibre/gui2/preferences/behavior.ui 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/gui2/preferences/behavior.ui 2019-08-26 17:23:20.187159625 -0500 -@@ -16,13 +16,6 @@ - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <layout class="QFormLayout" name="formLayout"> -- <item row="0" column="0" colspan="2"> -- <widget class="QCheckBox" name="opt_new_version_notification"> -- <property name="text"> -- <string>Notify when a &new version is available</string> -- </property> -- </widget> -- </item> - <item row="3" column="0" colspan="2"> - <widget class="QCheckBox" name="opt_upload_news_to_device"> - <property name="text"> ---- calibre-3.46.0.orig/src/calibre/gui2/update.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/gui2/update.py 2019-08-26 17:30:02.797162139 -0500 -@@ -7,15 +7,13 @@ import re, ssl, json - from threading import Thread, Event - - from PyQt5.Qt import (QObject, pyqtSignal, Qt, QUrl, QDialog, QGridLayout, -- QLabel, QCheckBox, QDialogButtonBox, QIcon) -+ QLabel, QCheckBox, QIcon) - --from calibre.constants import (__appname__, __version__, iswindows, isosx, -+from calibre.constants import (__appname__, iswindows, isosx, - isportable, is64bit, numeric_version) - from calibre import prints, as_unicode --from calibre.utils.config import prefs - from calibre.utils.localization import localize_website_link --from calibre.utils.https import get_https_resource_securely --from calibre.gui2 import config, dynamic, open_url -+from calibre.gui2 import dynamic, open_url - from calibre.gui2.dialogs.plugin_updater import get_plugin_updates_available - from calibre.utils.serialize import msgpack_dumps, msgpack_loads - from polyglot.binary import as_hex_unicode, from_hex_bytes -@@ -35,35 +33,7 @@ def get_download_url(): - - - def get_newest_version(): -- try: -- icon_theme_name = json.loads(I('icon-theme.json', data=True))['name'] -- except Exception: -- icon_theme_name = '' -- headers={ -- 'CALIBRE-VERSION':__version__, -- 'CALIBRE-OS': ('win' if iswindows else 'osx' if isosx else 'oth'), -- 'CALIBRE-INSTALL-UUID': prefs['installation_uuid'], -- 'CALIBRE-ICON-THEME': icon_theme_name, -- } -- try: -- version = get_https_resource_securely(URL, headers=headers) -- except ssl.SSLError as err: -- if getattr(err, 'reason', None) != 'CERTIFICATE_VERIFY_FAILED': -- raise -- # certificate verification failed, since the version check contains no -- # critical information, ignore and proceed -- # We have to do this as if the calibre CA certificate ever -- # needs to be revoked, then we wont be able to do version checks -- version = get_https_resource_securely(URL, headers=headers, cacerts=None) -- try: -- version = version.decode('utf-8').strip() -- except UnicodeDecodeError: -- version = '' -- ans = NO_CALIBRE_UPDATE -- m = re.match(unicode_type(r'(\d+)\.(\d+).(\d+)$'), version) -- if m is not None: -- ans = tuple(map(int, (m.group(1), m.group(2), m.group(3)))) -- return ans -+ return NO_CALIBRE_UPDATE - - - class Signal(QObject): -@@ -85,12 +55,6 @@ class CheckForUpdates(Thread): - while not self.shutdown_event.is_set(): - calibre_update_version = NO_CALIBRE_UPDATE - plugins_update_found = 0 -- try: -- version = get_newest_version() -- if version[:2] > numeric_version[:2]: -- calibre_update_version = version -- except Exception as e: -- prints('Failed to check for calibre update:', as_unicode(e)) - try: - update_plugins = get_plugin_updates_available(raise_error=True) - if update_plugins is not None: -@@ -150,11 +114,6 @@ class UpdateNotification(QDialog): - self.setWindowIcon(QIcon(I('lt.png'))) - self.l.addWidget(self.logo, 0, 0) - self.l.addWidget(self.label, 0, 1) -- self.cb = QCheckBox( -- _('Show this notification for future updates'), self) -- self.l.addWidget(self.cb, 1, 0, 1, -1) -- self.cb.setChecked(config.get('new_version_notification')) -- self.cb.stateChanged.connect(self.show_future) - self.bb = QDialogButtonBox(self) - b = self.bb.addButton(_('&Get update'), self.bb.AcceptRole) - b.setDefault(True) -@@ -182,9 +141,6 @@ class UpdateNotification(QDialog): - if gui is not None: - gui.quit(restart=True) - -- def show_future(self, *args): -- config.set('new_version_notification', bool(self.cb.isChecked())) -- - def accept(self): - open_url(QUrl(get_download_url())) - -@@ -232,7 +188,7 @@ class UpdateMixin(object): - self.status_bar.update_label.setVisible(True) - - if has_calibre_update: -- if (force or (config.get('new_version_notification') and not is_version_notified(calibre_version))): -+ if force: - if not no_show_popup: - self._update_notification__ = UpdateNotification(calibre_version, - number_of_plugin_updates, parent=self) ---- calibre-3.46.0.orig/src/calibre/__init__.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/__init__.py 2019-08-26 17:31:50.377162811 -0500 -@@ -254,10 +254,7 @@ - # First use the file header to identify its type - with open(path, 'rb') as f: - id_ = f.read(3) -- if id_ == b'Rar': -- from calibre.utils.unrar import extract as rarextract -- extractor = rarextract -- elif id_.startswith(b'PK'): -+ if id_.startswith(b'PK'): - from calibre.libunzip import extract as zipextract - extractor = zipextract - if extractor is None: -@@ -266,9 +263,6 @@ - if ext in ['zip', 'cbz', 'epub', 'oebzip']: - from calibre.libunzip import extract as zipextract - extractor = zipextract -- elif ext in ['cbr', 'rar']: -- from calibre.utils.unrar import extract as rarextract -- extractor = rarextract - if extractor is None: - raise Exception('Unknown archive type') - extractor(path, dir) ---- calibre-3.46.0.orig/src/calibre/linux.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/linux.py 2019-08-26 17:33:01.557163256 -0500 -@@ -338,7 +338,7 @@ - ): - for fmt in fmts: - is_input = group_title == input_group -- if is_input and fmt in {'rar', 'zip', 'oebzip'}: -+ if is_input and fmt in {'zip', 'oebzip'}: - continue - p = (get_parser(input_fmt=fmt) if is_input - else get_parser(output_fmt=fmt)) ---- calibre-3.46.0.orig/src/calibre/srv/render_book.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/srv/render_book.py 2019-08-26 17:33:53.057163577 -0500 -@@ -190,7 +190,7 @@ - 'spine':spine, - 'link_uid': uuid4(), - 'book_hash': book_hash, -- 'is_comic': input_fmt.lower() in {'cbc', 'cbz', 'cbr', 'cb7'}, -+ 'is_comic': input_fmt.lower() in {'cbc', 'cbz', 'cb7'}, - 'raster_cover_name': raster_cover_name, - 'title_page_name': titlepage_name, - 'has_maths': False, ---- calibre-3.46.0.orig/src/calibre/srv/tests/loop.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/srv/tests/loop.py 2019-08-26 17:35:18.047164108 -0500 -@@ -110,27 +110,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 -- if ispy3: -- from zeroconf import Zeroconf -- else: -- from calibre.utils.Zeroconf import Zeroconf -- b = BonJour(wait_for_stop=False) -- 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, '_calibre._tcp.local.') -- r = Zeroconf() -- info = r.get_service_info(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().decode('utf-8')), listen_on='::') as server: ---- calibre-3.46.0.orig/src/calibre/test_build.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/test_build.py 2019-08-26 17:36:49.697164680 -0500 -@@ -236,10 +236,6 @@ - from calibre.gui2.win_file_dialogs import test - test() - -- def test_unrar(self): -- from calibre.utils.unrar import test_basic -- test_basic() -- - @unittest.skipUnless(iswindows, 'WPD is windows only') - def test_wpd(self): - wpd = plugins['wpd'][0] ---- calibre-3.46.0.orig/src/calibre/utils/file_type_icons.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/utils/file_type_icons.py 2019-08-26 17:40:50.577166185 -0500 -@@ -15,7 +15,6 @@ - 'png' : 'png', - 'bmp' : 'bmp', - 'cbz' : 'cbz', -- 'cbr' : 'cbr', - 'svg' : 'svg', - 'html' : 'html', - 'htmlz' : 'html', -@@ -27,7 +26,6 @@ - 'lrx' : 'lrx', - 'pdf' : 'pdf', - 'pdr' : 'zero', -- 'rar' : 'rar', - 'zip' : 'zip', - 'txt' : 'txt', - 'text' : 'txt', ---- calibre-3.46.0.orig/src/calibre/utils/search_query_parser_test.py 2019-07-18 22:19:21.000000000 -0500 -+++ calibre-3.46.0/src/calibre/utils/search_query_parser_test.py 2019-08-26 17:48:14.897168960 -0500 -@@ -30,16 +30,16 @@ - u'Tor Books', - u'lrf'], - 8: [u'Stalky and Co.', u'Rudyard Kipling', u'manybooks.net', u'lrf'], -- 9: [u'A Game of Thrones', u'George R. R. Martin', None, u'lrf,rar'], -- 10: [u'A Clash of Kings', u'George R. R. Martin', None, u'lrf,rar'], -- 11: [u'A Storm of Swords', u'George R. R. Martin', None, u'lrf,rar'], -+ 9: [u'A Game of Thrones', u'George R. R. Martin', None, u'lrf'], -+ 10: [u'A Clash of Kings', u'George R. R. Martin', None, u'lrf'], -+ 11: [u'A Storm of Swords', u'George R. R. Martin', None, u'lrf'], - 12: [u'Biggles - Pioneer Air Fighter', u'W. E. Johns', None, u'lrf,rtf'], - 13: [u'Biggles of the Camel Squadron', - u'W. E. Johns', - u'London:Thames, (1977)', - u'lrf,rtf'], -- 14: [u'A Feast for Crows', u'George R. R. Martin', None, u'lrf,rar'], -- 15: [u'Cryptonomicon', u'Neal Stephenson', None, u'lrf,rar'], -+ 14: [u'A Feast for Crows', u'George R. R. Martin', None, u'lrf'], -+ 15: [u'Cryptonomicon', u'Neal Stephenson', None, u'lrf'], - 16: [u'Quicksilver', u'Neal Stephenson', None, u'lrf,zip'], - 17: [u'The Comedies of William Shakespeare', - u'William Shakespeare', -@@ -54,15 +54,15 @@ - None, - u'lrf'], - 20: [u'An Ideal Husband', u'Oscar Wilde', u'manybooks.net', u'lrf'], -- 21: [u'Flight of the Nighthawks', u'Raymond E. Feist', None, u'lrf,rar'], -- 22: [u'Into a Dark Realm', u'Raymond E. Feist', None, u'lrf,rar'], -- 23: [u'The Sundering', u'Walter Jon Williams', None, u'lrf,rar'], -- 24: [u'The Praxis', u'Walter Jon Williams', None, u'lrf,rar'], -- 25: [u'Conventions of War', u'Walter Jon Williams', None, u'lrf,rar'], -- 26: [u'Banewreaker', u'Jacqueline Carey', None, u'lrf,rar'], -- 27: [u'Godslayer', u'Jacqueline Carey', None, u'lrf,rar'], -- 28: [u"Kushiel's Scion", u'Jacqueline Carey', None, u'lrf,rar'], -- 29: [u'Underworld', u'Don DeLillo', None, u'lrf,rar'], -+ 21: [u'Flight of the Nighthawks', u'Raymond E. Feist', None, u'lrf'], -+ 22: [u'Into a Dark Realm', u'Raymond E. Feist', None, u'lrf'], -+ 23: [u'The Sundering', u'Walter Jon Williams', None, u'lrf'], -+ 24: [u'The Praxis', u'Walter Jon Williams', None, u'lrf'], -+ 25: [u'Conventions of War', u'Walter Jon Williams', None, u'lrf'], -+ 26: [u'Banewreaker', u'Jacqueline Carey', None, u'lrf'], -+ 27: [u'Godslayer', u'Jacqueline Carey', None, u'lrf'], -+ 28: [u"Kushiel's Scion", u'Jacqueline Carey', None, u'lrf'], -+ 29: [u'Underworld', u'Don DeLillo', None, u'lrf'], - 30: [u'Genghis Khan and The Making of the Modern World', - u'Jack Weatherford Orc', - u'Three Rivers Press', -@@ -73,9 +73,9 @@ - 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'], -- 34: [u'The Gates of Rome', u'Conn Iggulden', None, u'lrf,rar'], -+ 34: [u'The Gates of Rome', u'Conn Iggulden', None, u'lrf'], - 35: [u'The Death of Kings', u'Conn Iggulden', u'Bantam Dell', u'lit,lrf'], -- 36: [u'The Field of Swords', u'Conn Iggulden', None, u'lrf,rar'], -+ 36: [u'The Field of Swords', u'Conn Iggulden', None, u'lrf'], - 37: [u'Masterman Ready', u'Marryat, Captain Frederick', None, u'lrf'], - 38: [u'With the Lightnings', - u'David Drake', -@@ -88,16 +88,16 @@ - 40: [u'The Far Side of The Stars', - u'David Drake', - u'Baen Publishing Enterprises', -- u'lrf,rar'], -+ u'lrf'], - 41: [u'The Way to Glory', - u'David Drake', - u'Baen Publishing Enterprises', -- u'lrf,rar'], -- 42: [u'Some Golden Harbor', u'David Drake', u'Baen Books', u'lrf,rar'], -+ u'lrf'], -+ 42: [u'Some Golden Harbor', u'David Drake', u'Baen Books', u'lrf'], - 43: [u'Harry Potter And The Half-Blood Prince', - u'J. K. Rowling', - None, -- u'lrf,rar'], -+ u'lrf'], - 44: [u'Harry Potter and the Order of the Phoenix', - u'J. K. Rowling', - None, -@@ -106,12 +106,12 @@ - 46: [u'The Stars at War II', - u'Steve White', - u'Baen Publishing Enterprises', -- u'lrf,rar'], -- 47: [u'Exodus', u'Steve White,Shirley Meier', u'Baen Books', u'lrf,rar'], -+ u'lrf'], -+ 47: [u'Exodus', u'Steve White,Shirley Meier', u'Baen Books', u'lrf'], - 48: [u'Harry Potter and the Goblet of Fire', - u'J. K. Rowling', - None, -- u'lrf,rar'], -+ u'lrf'], - 49: [u'Harry Potter and the Prisoner of Azkaban', - u'J. K. Rowling', - None, -@@ -124,20 +124,20 @@ - u'J.K. Rowling', - None, - u'lit,lrf,pdf'], -- 52: [u"His Majesty's Dragon", u'Naomi Novik', None, u'lrf,rar'], -+ 52: [u"His Majesty's Dragon", u'Naomi Novik', None, u'lrf'], - 53: [u'Throne of Jade', u'Naomi Novik', u'Del Rey', u'lit,lrf'], -- 54: [u'Black Powder War', u'Naomi Novik', u'Del Rey', u'lrf,rar'], -+ 54: [u'Black Powder War', u'Naomi Novik', u'Del Rey', u'lrf'], - 55: [u'War and Peace', u'Leo Tolstoy', u'gutenberg.org', u'lrf,txt'], - 56: [u'Anna Karenina', u'Leo Tolstoy', u'gutenberg.org', u'lrf,txt'], - 57: [u'A Shorter History of Rome', - u'Eugene Lawrence,Sir William Smith', - u'gutenberg.org', - u'lrf,zip'], -- 58: [u'The Name of the Rose', u'Umberto Eco', None, u'lrf,rar'], -+ 58: [u'The Name of the Rose', u'Umberto Eco', None, u'lrf'], - 71: [u"Wind Rider's Oath", u'David Weber', u'Baen', u'lrf'], - 74: [u'Rally Cry', u'William R Forstchen', None, u'htm,lrf'], -- 86: [u'Empire of Ivory', u'Naomi Novik', None, u'lrf,rar'], -- 87: [u"Renegade's Magic", u'Robin Hobb', None, u'lrf,rar'], -+ 86: [u'Empire of Ivory', u'Naomi Novik', None, u'lrf'], -+ 87: [u"Renegade's Magic", u'Robin Hobb', None, u'lrf'], - 89: [u'Master and commander', - u"Patrick O'Brian", - u'Fontana,\n1971', -@@ -145,7 +145,7 @@ - 91: [u'A Companion to Wolves', - u'Sarah Monette,Elizabeth Beär', - None, -- u'lrf,rar'], -+ u'lrf'], - 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 @@ - 144: [u'Atonement', - u'Ian McEwan', - u'New York : Nan A. Talese/Doubleday, 2002.', -- u'lrf,rar'], -+ u'lrf'], - 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 @@ - 253: [u"Hunter's Run", - u'George R. R. Martin,Gardner Dozois,Daniel Abraham', - u'Eos', -- u'lrf,rar'], -+ u'lrf'], - 257: [u'Knife of Dreams', u'Robert Jordan', None, u'lit,lrf'], - 258: [u'Saturday', - u'Ian McEwan', -@@ -242,7 +242,7 @@ - u'New York : Random House, 2005.', - u'lit,lrf'], - 269: [u'Reap the Whirlwind', u'David Mack', u'Star Trek', u'lit,lrf'], -- 272: [u'Mistborn', u'Brandon Sanderson', u'Tor Fantasy', u'lrf,rar'], -+ 272: [u'Mistborn', u'Brandon Sanderson', u'Tor Fantasy', u'lrf'], - 273: [u'The Thousandfold Thought', - u'R. Scott Bakker', - u'Overlook TP', -@@ -250,17 +250,17 @@ - 276: [u'Elantris', - u'Brandon Sanderson', - u'New York : Tor, 2005.', -- u'lrf,rar'], -+ u'lrf'], - 291: [u'Sundiver', - u'David Brin', - u'New York : Bantam Books, 1995.', - u'lit,lrf'], -- 299: [u'Imperium', u'Robert Harris', u'Arrow', u'lrf,rar'], -+ 299: [u'Imperium', u'Robert Harris', u'Arrow', u'lrf'], - 300: [u'Startide Rising', u'David Brin', u'Bantam', u'htm,lrf'], - 301: [u'The Uplift War', u'David Brin', u'Spectra', u'lit,lrf'], -- 304: [u'Brightness Reef', u'David Brin', u'Orbit', u'lrf,rar'], -+ 304: [u'Brightness Reef', u'David Brin', u'Orbit', u'lrf'], - 305: [u"Infinity's Shore", u'David Brin', u'Spectra', u'txt'], -- 306: [u"Heaven's Reach", u'David Brin', u'Spectra', u'lrf,rar'], -+ 306: [u"Heaven's Reach", u'David Brin', u'Spectra', u'lrf'], - 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 @@ - u'Aspect', - u'lit,lrf'], - 356: [u'The Naked God', u'Peter F. Hamilton', u'Aspect', u'lit,lrf'], -- 421: [u'A Shadow in Summer', u'Daniel Abraham', u'Tor Fantasy', u'lrf,rar'], -+ 421: [u'A Shadow in Summer', u'Daniel Abraham', u'Tor Fantasy', u'lrf'], - 427: [u'Lonesome Dove', u'Larry M\\cMurtry', None, u'lit,lrf'], - 440: [u'Ghost', u'John Ringo', u'Baen', u'lit,lrf'], - 441: [u'Kildar', u'John Ringo', u'Baen', u'lit,lrf'], -- 443: [u'Hidden Empire ', u'Kevin J. Anderson', u'Aspect', u'lrf,rar'], -+ 443: [u'Hidden Empire ', u'Kevin J. Anderson', u'Aspect', u'lrf'], - 444: [u'The Gun Seller', - u'Hugh Laurie', - u'Washington Square Press', -- u'lrf,rar'] -+ u'lrf'] - } - - tests = { |