mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 02:34:06 -04:00
Fix #2037117 [[Enhancement] "Add multiple books from archive" should include 7z](https://bugs.launchpad.net/calibre/+bug/2037117)
This commit is contained in:
parent
be2ab41feb
commit
807ba2fe8b
@ -61,7 +61,7 @@ class AddAction(InterfaceAction):
|
|||||||
self.add_menu = self.qaction.menu()
|
self.add_menu = self.qaction.menu()
|
||||||
ma = partial(self.create_menu_action, self.add_menu)
|
ma = partial(self.create_menu_action, self.add_menu)
|
||||||
ma('recursive-add', _('Add from folders and sub-folders'), icon='mimetypes/dir.png').triggered.connect(self.add_recursive_question)
|
ma('recursive-add', _('Add from folders and sub-folders'), icon='mimetypes/dir.png').triggered.connect(self.add_recursive_question)
|
||||||
ma('archive-add-book', _('Add multiple books from archive (ZIP/RAR)'), icon='mimetypes/zip.png').triggered.connect(self.add_from_archive)
|
ma('archive-add-book', _('Add multiple books from archive (ZIP/RAR/7z)'), icon='mimetypes/zip.png').triggered.connect(self.add_from_archive)
|
||||||
self.add_menu.addSeparator()
|
self.add_menu.addSeparator()
|
||||||
ma('add-empty', _('Add empty book (Book entry with no formats)'),
|
ma('add-empty', _('Add empty book (Book entry with no formats)'),
|
||||||
shortcut='Shift+Ctrl+E').triggered.connect(self.add_empty)
|
shortcut='Shift+Ctrl+E').triggered.connect(self.add_empty)
|
||||||
@ -273,7 +273,7 @@ class AddAction(InterfaceAction):
|
|||||||
def add_archive(self, single):
|
def add_archive(self, single):
|
||||||
paths = choose_files(
|
paths = choose_files(
|
||||||
self.gui, 'recursive-archive-add', _('Choose archive file'),
|
self.gui, 'recursive-archive-add', _('Choose archive file'),
|
||||||
filters=[(_('Archives'), ('zip', 'rar'))], all_files=False, select_only_single_file=False)
|
filters=[(_('Archives'), ('zip', 'rar', '7z'))], all_files=False, select_only_single_file=False)
|
||||||
if paths:
|
if paths:
|
||||||
self.do_add_recursive(paths, single, list_of_archives=True)
|
self.do_add_recursive(paths, single, list_of_archives=True)
|
||||||
|
|
||||||
@ -282,7 +282,7 @@ class AddAction(InterfaceAction):
|
|||||||
'Will the archive have a single book per internal folder?'))
|
'Will the archive have a single book per internal folder?'))
|
||||||
paths = choose_files(
|
paths = choose_files(
|
||||||
self.gui, 'recursive-archive-add', _('Choose archive file'),
|
self.gui, 'recursive-archive-add', _('Choose archive file'),
|
||||||
filters=[(_('Archives'), ('zip', 'rar'))], all_files=False, select_only_single_file=False)
|
filters=[(_('Archives'), ('zip', 'rar', '7z'))], all_files=False, select_only_single_file=False)
|
||||||
if paths:
|
if paths:
|
||||||
self.do_add_recursive(paths, single, list_of_archives=True)
|
self.do_add_recursive(paths, single, list_of_archives=True)
|
||||||
|
|
||||||
|
@ -208,6 +208,9 @@ class Adder(QObject):
|
|||||||
elif source.lower().endswith('.rar'):
|
elif source.lower().endswith('.rar'):
|
||||||
from calibre.utils.unrar import extract
|
from calibre.utils.unrar import extract
|
||||||
extract(source, tdir)
|
extract(source, tdir)
|
||||||
|
elif source.lower().endswith('.7z'):
|
||||||
|
from calibre.utils.seven_zip import extract
|
||||||
|
extract(source, tdir)
|
||||||
return tdir
|
return tdir
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user