mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Make logic to get preferred view format re-useable
This commit is contained in:
parent
ac97fe16ac
commit
4b2c386c95
@ -24,6 +24,16 @@ from calibre.utils.config import prefs, tweaks
|
|||||||
from polyglot.builtins import as_bytes, unicode_type
|
from polyglot.builtins import as_bytes, unicode_type
|
||||||
|
|
||||||
|
|
||||||
|
def preferred_format(formats):
|
||||||
|
formats = tuple(x.upper() for x in formats if x)
|
||||||
|
fmt = formats[0]
|
||||||
|
for format in prefs['input_format_order']:
|
||||||
|
if format in formats:
|
||||||
|
fmt = format
|
||||||
|
break
|
||||||
|
return fmt
|
||||||
|
|
||||||
|
|
||||||
class HistoryAction(QAction):
|
class HistoryAction(QAction):
|
||||||
|
|
||||||
view_historical = pyqtSignal(object)
|
view_historical = pyqtSignal(object)
|
||||||
@ -303,19 +313,13 @@ class ViewAction(InterfaceAction):
|
|||||||
self.update_history([], remove={id_})
|
self.update_history([], remove={id_})
|
||||||
continue
|
continue
|
||||||
|
|
||||||
formats = db.formats(id_, index_is_id=True)
|
formats = db.new_api.formats(id_, verify_formats=True)
|
||||||
if not formats:
|
if not formats:
|
||||||
error_dialog(self.gui, _('Cannot view'),
|
error_dialog(self.gui, _('Cannot view'),
|
||||||
_('%s has no available formats.')%(title,), show=True)
|
_('%s has no available formats.')%(title,), show=True)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
formats = formats.upper().split(',')
|
fmt = preferred_format(formats)
|
||||||
|
|
||||||
fmt = formats[0]
|
|
||||||
for format in prefs['input_format_order']:
|
|
||||||
if format in formats:
|
|
||||||
fmt = format
|
|
||||||
break
|
|
||||||
views.append((id_, title))
|
views.append((id_, title))
|
||||||
self.view_format_by_id(id_, fmt)
|
self.view_format_by_id(id_, fmt)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user