From d8c4f27e5d2ba0ecbfc65a7c6906384992750c48 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sat, 15 Oct 2016 01:15:18 -0300 Subject: calibre-2.70.0-1.parabola1: updating version --- libre/calibre/libre.patch | 141 +++++++++++++++++++++++----------------------- 1 file changed, 71 insertions(+), 70 deletions(-) (limited to 'libre/calibre/libre.patch') diff --git a/libre/calibre/libre.patch b/libre/calibre/libre.patch index 29a50a67d..c9ab686e9 100644 --- a/libre/calibre/libre.patch +++ b/libre/calibre/libre.patch @@ -1,8 +1,8 @@ diff --git a/resources/images.qrc b/resources/images.qrc -index 49b98d9..130b6fa 100644 +index 07c9892..b323df9 100644 --- a/resources/images.qrc +++ b/resources/images.qrc -@@ -197,8 +197,6 @@ +@@ -194,8 +194,6 @@ images/mimetypes/svg.png images/mimetypes/odt.png images/mimetypes/epub.png @@ -11,7 +11,7 @@ index 49b98d9..130b6fa 100644 images/mimetypes/tpz.png images/mimetypes/djvu.png images/mimetypes/computer.png -@@ -218,4 +216,4 @@ +@@ -215,4 +213,4 @@ images/mimetypes/html.png images/mimetypes/lrx.png @@ -47,7 +47,7 @@ index b8acaaa..9ea4742 100644 application/x-cbc cbc application/x-koboreader-ebook kobo diff --git a/session.vim b/session.vim -index 1622aab..7061d81 100644 +index d5ecb06..b3e40d0 100644 --- a/session.vim +++ b/session.vim @@ -11,7 +11,6 @@ let g:syntastic_cpp_include_dirs = [ @@ -104,10 +104,10 @@ index 6a0d122..52fc25f 100644 for ouf in available_output_formats(): of = ouf if ouf == 'oeb' else 'dummy.'+ouf diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py -index d264168..9e6242b 100644 +index c37c0fc..54d4d96 100644 --- a/src/calibre/__init__.py +++ b/src/calibre/__init__.py -@@ -273,10 +273,7 @@ def extract(path, dir): +@@ -291,10 +291,7 @@ def extract(path, dir): # First use the file header to identify its type with open(path, 'rb') as f: id_ = f.read(3) @@ -119,7 +119,7 @@ index d264168..9e6242b 100644 from calibre.libunzip import extract as zipextract extractor = zipextract if extractor is None: -@@ -285,9 +282,6 @@ def extract(path, dir): +@@ -303,9 +300,6 @@ def extract(path, dir): if ext in ['zip', 'cbz', 'epub', 'oebzip']: from calibre.libunzip import extract as zipextract extractor = zipextract @@ -130,10 +130,10 @@ index d264168..9e6242b 100644 raise Exception('Unknown archive type') extractor(path, dir) diff --git a/src/calibre/constants.py b/src/calibre/constants.py -index 5e97eaf..be11c90 100644 +index 5aa6c9e..57aae3e 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py -@@ -141,7 +141,6 @@ class Plugins(collections.Mapping): +@@ -147,7 +147,6 @@ class Plugins(collections.Mapping): 'zlib2', 'html', 'freetype', @@ -142,10 +142,10 @@ index 5e97eaf..be11c90 100644 'qt_hack', '_regex', diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py -index 428b9ba..f7d483a 100644 +index 102bc81..25a877c 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py -@@ -127,7 +127,7 @@ plugins += [HTML2ZIP, PML2PMLZ, TXT2TXTZ, ArchiveExtract,] +@@ -131,7 +131,7 @@ plugins += [HTML2ZIP, PML2PMLZ, TXT2TXTZ, ArchiveExtract,] class ComicMetadataReader(MetadataReaderPlugin): name = 'Read comic metadata' @@ -154,7 +154,7 @@ index 428b9ba..f7d483a 100644 description = _('Extract cover from comic files') def customization_help(self, gui=False): -@@ -138,19 +138,14 @@ class ComicMetadataReader(MetadataReaderPlugin): +@@ -142,19 +142,14 @@ class ComicMetadataReader(MetadataReaderPlugin): pos = stream.tell() id_ = stream.read(3) stream.seek(pos) @@ -176,10 +176,10 @@ index 428b9ba..f7d483a 100644 series_index = self.site_customization if series_index not in {'volume', 'issue'}: series_index = 'volume' -@@ -333,16 +328,6 @@ class PMLMetadataReader(MetadataReaderPlugin): - from calibre.ebooks.metadata.pml import get_metadata +@@ -353,17 +348,6 @@ class PMLMetadataReader(MetadataReaderPlugin): return get_metadata(stream) + -class RARMetadataReader(MetadataReaderPlugin): - - name = 'Read RAR metadata' @@ -189,15 +189,16 @@ index 428b9ba..f7d483a 100644 - 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' diff --git a/src/calibre/customize/ui.py b/src/calibre/customize/ui.py -index 81e80c0..412ea1a 100644 +index 94f972f..019ab03 100644 --- a/src/calibre/customize/ui.py +++ b/src/calibre/customize/ui.py -@@ -478,7 +478,7 @@ def available_input_formats(): +@@ -518,7 +518,7 @@ def available_input_formats(): if not is_disabled(plugin): for format in plugin.file_types: formats.add(format) @@ -207,10 +208,10 @@ index 81e80c0..412ea1a 100644 diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py -index 7a82779..8c6479a 100644 +index 2ba1a0d..7df2e36 100644 --- a/src/calibre/devices/kobo/driver.py +++ b/src/calibre/devices/kobo/driver.py -@@ -76,7 +76,7 @@ class KOBO(USBMS): +@@ -78,7 +78,7 @@ class KOBO(USBMS): book_class = Book # Ordered list of supported formats @@ -220,7 +221,7 @@ index 7a82779..8c6479a 100644 VENDOR_ID = [0x2237] diff --git a/src/calibre/devices/mtp/filesystem_cache.py b/src/calibre/devices/mtp/filesystem_cache.py -index e4207a1..d139d8e 100644 +index ffc5280..79be51e 100644 --- a/src/calibre/devices/mtp/filesystem_cache.py +++ b/src/calibre/devices/mtp/filesystem_cache.py @@ -18,7 +18,7 @@ from calibre.utils.date import local_tz, as_utc @@ -230,13 +231,13 @@ index e4207a1..d139d8e 100644 -bexts = frozenset(BOOK_EXTENSIONS) - {'mbp', 'tan', 'rar', 'zip', 'xml'} +bexts = frozenset(BOOK_EXTENSIONS) - {'mbp', 'tan', 'zip', 'xml'} - class FileOrFolder(object): + class FileOrFolder(object): diff --git a/src/calibre/ebooks/__init__.py b/src/calibre/ebooks/__init__.py -index 50a957f..ba538c6 100644 +index c21fec5..ec04092 100644 --- a/src/calibre/ebooks/__init__.py +++ b/src/calibre/ebooks/__init__.py -@@ -25,9 +25,9 @@ class DRMError(ValueError): +@@ -29,9 +29,9 @@ class DRMError(ValueError): class ParserError(ValueError): pass @@ -249,10 +250,10 @@ index 50a957f..ba538c6 100644 'xps', 'oxps', 'azw4', 'book', 'zbf', 'pobi', 'docx', 'docm', 'md', 'textile', 'markdown', 'ibook', 'ibooks', 'iba', 'azw3', 'ps', 'kepub'] diff --git a/src/calibre/ebooks/conversion/plugins/comic_input.py b/src/calibre/ebooks/conversion/plugins/comic_input.py -index e3561bb..d1b5c79 100644 +index 8825014..acc1f1b 100644 --- a/src/calibre/ebooks/conversion/plugins/comic_input.py +++ b/src/calibre/ebooks/conversion/plugins/comic_input.py -@@ -17,8 +17,8 @@ class ComicInput(InputFormatPlugin): +@@ -18,8 +18,8 @@ class ComicInput(InputFormatPlugin): name = 'Comic Input' author = 'Kovid Goyal' @@ -264,10 +265,10 @@ index e3561bb..d1b5c79 100644 core_usage = -1 diff --git a/src/calibre/ebooks/conversion/plumber.py b/src/calibre/ebooks/conversion/plumber.py -index 04ce4ec..a6c6827 100644 +index 1a3e6e5..8ee9479 100644 --- a/src/calibre/ebooks/conversion/plumber.py +++ b/src/calibre/ebooks/conversion/plumber.py -@@ -42,7 +42,7 @@ various stages of conversion. The stages are: +@@ -43,7 +43,7 @@ various stages of conversion. The stages are: def supported_input_formats(): fmts = available_input_formats() @@ -276,20 +277,20 @@ index 04ce4ec..a6c6827 100644 fmts.add(x) return fmts -@@ -60,7 +60,7 @@ class CompositeProgressReporter(object): +@@ -63,7 +63,7 @@ class CompositeProgressReporter(object): (self.global_max - self.global_min) self.global_reporter(global_frac, msg) -ARCHIVE_FMTS = ('zip', 'rar', 'oebzip') +ARCHIVE_FMTS = ('zip', 'oebzip') - class Plumber(object): + class Plumber(object): diff --git a/src/calibre/ebooks/metadata/archive.py b/src/calibre/ebooks/metadata/archive.py -index 96fc0de..996368d 100644 +index 938ab24..0494bc5 100644 --- a/src/calibre/ebooks/metadata/archive.py +++ b/src/calibre/ebooks/metadata/archive.py -@@ -27,8 +27,6 @@ def archive_type(stream): +@@ -29,8 +29,6 @@ def archive_type(stream): ans = None if id_ == stringFileHeader: ans = 'zip' @@ -298,7 +299,7 @@ index 96fc0de..996368d 100644 try: stream.seek(pos) except: -@@ -40,25 +38,16 @@ class ArchiveExtract(FileTypePlugin): +@@ -42,25 +40,16 @@ class ArchiveExtract(FileTypePlugin): name = 'Archive Extract' author = 'Kovid Goyal' description = _('Extract common e-book formats from archives ' @@ -329,7 +330,7 @@ index 96fc0de..996368d 100644 def fname_ok(fname): bn = os.path.basename(fname).lower() -@@ -74,7 +63,7 @@ class ArchiveExtract(FileTypePlugin): +@@ -76,7 +65,7 @@ class ArchiveExtract(FileTypePlugin): fnames = list(filter(fname_ok, fnames)) if is_comic(fnames): @@ -338,7 +339,7 @@ index 96fc0de..996368d 100644 of = self.temporary_file('_archive_extract'+ext) with open(archive, 'rb') as f: of.write(f.read()) -@@ -91,12 +80,7 @@ class ArchiveExtract(FileTypePlugin): +@@ -93,12 +82,7 @@ class ArchiveExtract(FileTypePlugin): of = self.temporary_file('_archive_extract.'+ext) with closing(of): @@ -351,8 +352,8 @@ index 96fc0de..996368d 100644 + of.write(zf.read(fname)) return of.name - def get_comic_book_info(d, mi, series_index='volume'): -@@ -157,10 +141,6 @@ def get_comic_metadata(stream, stream_type, series_index='volume'): + +@@ -161,10 +145,6 @@ def get_comic_metadata(stream, stream_type, series_index='volume'): from calibre.utils.zipfile import ZipFile zf = ZipFile(stream) comment = zf.comment @@ -364,10 +365,10 @@ index 96fc0de..996368d 100644 if comment: import json diff --git a/src/calibre/ebooks/oeb/iterator/book.py b/src/calibre/ebooks/oeb/iterator/book.py -index 47ac055..a48fe8d 100644 +index f419c00..f876fa2 100644 --- a/src/calibre/ebooks/oeb/iterator/book.py +++ b/src/calibre/ebooks/oeb/iterator/book.py -@@ -148,7 +148,7 @@ class EbookIterator(BookmarksMixin): +@@ -152,7 +152,7 @@ class EbookIterator(BookmarksMixin): 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') @@ -377,10 +378,10 @@ index 47ac055..a48fe8d 100644 spath = i.path mt = None diff --git a/src/calibre/gui2/actions/add.py b/src/calibre/gui2/actions/add.py -index 56d299d..e21b964 100644 +index c0980b5..db56ca5 100644 --- a/src/calibre/gui2/actions/add.py +++ b/src/calibre/gui2/actions/add.py -@@ -38,8 +38,8 @@ def get_filters(): +@@ -39,8 +39,8 @@ def get_filters(): (_('Text books'), ['txt', 'text', 'rtf']), (_('PDF Books'), ['pdf', 'azw4']), (_('SNB Books'), ['snb']), @@ -391,7 +392,7 @@ index 56d299d..e21b964 100644 (_('Wordprocessor files'), ['odt', 'doc', 'docx']), ] -@@ -66,7 +66,7 @@ class AddAction(InterfaceAction): +@@ -67,7 +67,7 @@ class AddAction(InterfaceAction): 'sub-directories (Multiple books per directory, assumes every ' 'ebook file is a different book)')).triggered.connect( self.add_recursive_multiple) @@ -400,7 +401,7 @@ index 56d299d..e21b964 100644 self.create_menu_action(arm, 'recursive-single-archive', _( 'One book per directory in the archive')).triggered.connect(partial(self.add_archive, True)) self.create_menu_action(arm, 'recursive-multiple-archive', _( -@@ -199,7 +199,7 @@ class AddAction(InterfaceAction): +@@ -200,7 +200,7 @@ class AddAction(InterfaceAction): def add_archive(self, single): paths = choose_files( self.gui, 'recursive-archive-add', _('Choose archive file'), @@ -410,10 +411,10 @@ index 56d299d..e21b964 100644 self.do_add_recursive(paths, single, list_of_archives=True) diff --git a/src/calibre/gui2/add.py b/src/calibre/gui2/add.py -index 0b6f02c..9454629 100644 +index 5adb286..b60f2a9 100644 --- a/src/calibre/gui2/add.py +++ b/src/calibre/gui2/add.py -@@ -145,9 +145,6 @@ class Adder(QObject): +@@ -147,9 +147,6 @@ class Adder(QObject): prints('Corrupt ZIP file, trying to use local headers') from calibre.utils.localunzip import extractall extractall(source, tdir) @@ -424,23 +425,23 @@ index 0b6f02c..9454629 100644 try: diff --git a/src/calibre/library/server/opds.py b/src/calibre/library/server/opds.py -index 43cde64..63e4163 100644 +index 34157a0..718af59 100644 --- a/src/calibre/library/server/opds.py +++ b/src/calibre/library/server/opds.py -@@ -29,7 +29,7 @@ BASE_HREFS = { +@@ -28,7 +28,7 @@ BASE_HREFS = { 1 : '/opds', } -STANZA_FORMATS = frozenset(['epub', 'pdb', 'pdf', 'cbr', 'cbz', 'djvu']) +STANZA_FORMATS = frozenset(['epub', 'pdb', 'pdf', 'cbz', 'djvu']) + def url_for(name, version, **kwargs): - if not name.endswith('_'): diff --git a/src/calibre/linux.py b/src/calibre/linux.py -index ea2463c..24c3698 100644 +index 31a1155..0cb6385 100644 --- a/src/calibre/linux.py +++ b/src/calibre/linux.py -@@ -312,7 +312,7 @@ class ZshCompleter(object): # {{{ +@@ -315,7 +315,7 @@ class ZshCompleter(object): # {{{ ): for fmt in fmts: is_input = group_title == input_group @@ -450,10 +451,10 @@ index ea2463c..24c3698 100644 p = (get_parser(input_fmt=fmt) if is_input else get_parser(output_fmt=fmt)) diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py -index 05367bf..08d96f1 100644 +index 85829e5..ecacb67 100644 --- a/src/calibre/test_build.py +++ b/src/calibre/test_build.py -@@ -168,10 +168,6 @@ class BuildTest(unittest.TestCase): +@@ -169,10 +169,6 @@ class BuildTest(unittest.TestCase): from calibre.gui2.win_file_dialogs import test test() @@ -465,10 +466,10 @@ index 05367bf..08d96f1 100644 def test_wpd(self): wpd = plugins['wpd'][0] diff --git a/src/calibre/utils/search_query_parser.py b/src/calibre/utils/search_query_parser.py -index 4c08706..15c1019 100644 +index fe04af0..130fb81 100644 --- a/src/calibre/utils/search_query_parser.py +++ b/src/calibre/utils/search_query_parser.py -@@ -445,16 +445,16 @@ class Tester(SearchQueryParser): +@@ -455,16 +455,16 @@ class Tester(SearchQueryParser): u'Tor Books', u'lrf'], 8: [u'Stalky and Co.', u'Rudyard Kipling', u'manybooks.net', u'lrf'], @@ -490,7 +491,7 @@ index 4c08706..15c1019 100644 16: [u'Quicksilver', u'Neal Stephenson', None, u'lrf,zip'], 17: [u'The Comedies of William Shakespeare', u'William Shakespeare', -@@ -469,15 +469,15 @@ class Tester(SearchQueryParser): +@@ -479,15 +479,15 @@ class Tester(SearchQueryParser): None, u'lrf'], 20: [u'An Ideal Husband', u'Oscar Wilde', u'manybooks.net', u'lrf'], @@ -515,7 +516,7 @@ index 4c08706..15c1019 100644 30: [u'Genghis Khan and The Making of the Modern World', u'Jack Weatherford Orc', u'Three Rivers Press', -@@ -488,9 +488,9 @@ class Tester(SearchQueryParser): +@@ -498,9 +498,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'], @@ -527,7 +528,7 @@ index 4c08706..15c1019 100644 37: [u'Masterman Ready', u'Marryat, Captain Frederick', None, u'lrf'], 38: [u'With the Lightnings', u'David Drake', -@@ -503,16 +503,16 @@ class Tester(SearchQueryParser): +@@ -513,16 +513,16 @@ class Tester(SearchQueryParser): 40: [u'The Far Side of The Stars', u'David Drake', u'Baen Publishing Enterprises', @@ -548,7 +549,7 @@ index 4c08706..15c1019 100644 44: [u'Harry Potter and the Order of the Phoenix', u'J. K. Rowling', None, -@@ -521,12 +521,12 @@ class Tester(SearchQueryParser): +@@ -531,12 +531,12 @@ class Tester(SearchQueryParser): 46: [u'The Stars at War II', u'Steve White', u'Baen Publishing Enterprises', @@ -564,7 +565,7 @@ index 4c08706..15c1019 100644 49: [u'Harry Potter and the Prisoner of Azkaban', u'J. K. Rowling', None, -@@ -539,20 +539,20 @@ class Tester(SearchQueryParser): +@@ -549,20 +549,20 @@ class Tester(SearchQueryParser): u'J.K. Rowling', None, u'lit,lrf,pdf'], @@ -590,7 +591,7 @@ index 4c08706..15c1019 100644 89: [u'Master and commander', u"Patrick O'Brian", u'Fontana,\n1971', -@@ -560,7 +560,7 @@ class Tester(SearchQueryParser): +@@ -570,7 +570,7 @@ class Tester(SearchQueryParser): 91: [u'A Companion to Wolves', u'Sarah Monette,Elizabeth Beär', None, @@ -599,7 +600,7 @@ index 4c08706..15c1019 100644 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', -@@ -584,7 +584,7 @@ class Tester(SearchQueryParser): +@@ -594,7 +594,7 @@ class Tester(SearchQueryParser): 144: [u'Atonement', u'Ian McEwan', u'New York : Nan A. Talese/Doubleday, 2002.', @@ -608,7 +609,7 @@ index 4c08706..15c1019 100644 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', -@@ -637,7 +637,7 @@ class Tester(SearchQueryParser): +@@ -647,7 +647,7 @@ class Tester(SearchQueryParser): 253: [u"Hunter's Run", u'George R. R. Martin,Gardner Dozois,Daniel Abraham', u'Eos', @@ -617,7 +618,7 @@ index 4c08706..15c1019 100644 257: [u'Knife of Dreams', u'Robert Jordan', None, u'lit,lrf'], 258: [u'Saturday', u'Ian McEwan', -@@ -657,7 +657,7 @@ class Tester(SearchQueryParser): +@@ -667,7 +667,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'], @@ -626,7 +627,7 @@ index 4c08706..15c1019 100644 273: [u'The Thousandfold Thought', u'R. Scott Bakker', u'Overlook TP', -@@ -665,17 +665,17 @@ class Tester(SearchQueryParser): +@@ -675,17 +675,17 @@ class Tester(SearchQueryParser): 276: [u'Elantris', u'Brandon Sanderson', u'New York : Tor, 2005.', @@ -648,7 +649,7 @@ index 4c08706..15c1019 100644 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'], -@@ -705,15 +705,15 @@ class Tester(SearchQueryParser): +@@ -715,15 +715,15 @@ class Tester(SearchQueryParser): u'Aspect', u'lit,lrf'], 356: [u'The Naked God', u'Peter F. Hamilton', u'Aspect', u'lit,lrf'], @@ -681,24 +682,24 @@ index 16085cf..420efaa 100755 def __init__(self, data, baseuri, encoding): self.document = BeautifulSoup.BeautifulSoup(data) diff --git a/translations/calibre/main.pot b/translations/calibre/main.pot -index 602deb0..e329cb7 100644 +index 7d1f7c9..d02335b 100644 --- a/translations/calibre/main.pot +++ b/translations/calibre/main.pot -@@ -4405,7 +4405,7 @@ msgid "Set book ID" +@@ -4415,7 +4415,7 @@ msgid "Set book ID" msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:44 -msgid "Extract common e-book formats from archives (zip/rar) files. Also try to autodetect if they are actually cbz/cbr files." +msgid "Extract common e-book formats from archives (zip) files. Also try to autodetect if they are actually cbz files." msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:652 -@@ -12754,7 +12754,7 @@ msgid "You can also customise the plugin locations using Preferences -> Custo + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:655 +@@ -12801,7 +12801,7 @@ msgid "You can also customise the plugin locations using Preferences -> Custo msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:36 -msgid "Set defaults for conversion of comics (CBR/CBZ files)" +msgid "Set defaults for conversion of comics (CBZ files)" msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:51 -- cgit v1.2.3