Remove more uses of plugins dict

This commit is contained in:
Kovid Goyal 2020-10-18 12:10:11 +05:30
parent 861fb8144f
commit e90770509f
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
3 changed files with 23 additions and 24 deletions

View File

@ -254,8 +254,8 @@ class ExtensionsImporter:
if iswindows: if iswindows:
extra = ('winutil', 'wpd', 'winfonts') extra = ('winutil', 'wpd', 'winfonts')
elif ismacos: elif ismacos:
extra = ('usbobserver', 'cocoa') extra = ('usbobserver', 'cocoa', 'libusb', 'libmtp')
elif isfreebsd or ishaiku or islinux or ismacos: elif isfreebsd or ishaiku or islinux:
extra = ('libusb', 'libmtp') extra = ('libusb', 'libmtp')
else: else:
extra = () extra = ()

View File

@ -11,7 +11,7 @@ from collections import namedtuple
from functools import partial from functools import partial
from calibre import prints, as_unicode, force_unicode from calibre import prints, as_unicode, force_unicode
from calibre.constants import plugins, islinux, ismacos from calibre.constants import islinux, ismacos
from calibre.ptempfile import SpooledTemporaryFile from calibre.ptempfile import SpooledTemporaryFile
from calibre.devices.errors import OpenFailed, DeviceError, BlacklistedDevice, OpenActionNeeded from calibre.devices.errors import OpenFailed, DeviceError, BlacklistedDevice, OpenActionNeeded
from calibre.devices.mtp.base import MTPDeviceBase, synchronous, debug from calibre.devices.mtp.base import MTPDeviceBase, synchronous, debug
@ -52,9 +52,8 @@ class MTP_DEVICE(MTPDeviceBase):
from calibre.devices.mtp.unix.sysfs import MTPDetect from calibre.devices.mtp.unix.sysfs import MTPDetect
self._is_device_mtp = MTPDetect() self._is_device_mtp = MTPDetect()
if ismacos and 'osx' in self.supported_platforms: if ismacos and 'osx' in self.supported_platforms:
self.usbobserver, err = plugins['usbobserver'] from calibre_extensions import usbobserver
if err: self.usbobserver = usbobserver
raise RuntimeError(err)
self._is_device_mtp = self.osx_is_device_mtp self._is_device_mtp = self.osx_is_device_mtp
def is_device_mtp(self, d, debug=None): def is_device_mtp(self, d, debug=None):
@ -128,9 +127,7 @@ class MTP_DEVICE(MTPDeviceBase):
return True return True
p = partial(prints, file=output) p = partial(prints, file=output)
if self.libmtp is None: if self.libmtp is None:
err = plugins['libmtp'][1] err = 'startup() not called on this device driver'
if not err:
err = 'startup() not called on this device driver'
p(err) p(err)
return False return False
devs = [d for d in devices_on_system if devs = [d for d in devices_on_system if
@ -190,12 +187,14 @@ class MTP_DEVICE(MTPDeviceBase):
@synchronous @synchronous
def startup(self): def startup(self):
p = plugins['libmtp'] try:
self.libmtp = p[0] from calibre_extensions import libmtp
if self.libmtp is None: except Exception as err:
print('Failed to load libmtp, MTP device detection disabled') print('Failed to load libmtp, MTP device detection disabled')
print(p[1]) print(err)
self.libmtp = None
else: else:
self.libmtp = libmtp
self.known_devices = frozenset(self.libmtp.known_devices()) self.known_devices = frozenset(self.libmtp.known_devices())
for x in vars(self.libmtp): for x in vars(self.libmtp):

View File

@ -26,7 +26,7 @@ from calibre import as_unicode, prints
from calibre.constants import ( from calibre.constants import (
DEBUG, __appname__ as APP_UID, __version__, config_dir, filesystem_encoding, DEBUG, __appname__ as APP_UID, __version__, config_dir, filesystem_encoding,
is_running_from_develop, isbsd, isfrozen, islinux, ismacos, iswindows, isxp, is_running_from_develop, isbsd, isfrozen, islinux, ismacos, iswindows, isxp,
plugins, plugins_loc plugins_loc
) )
from calibre.ebooks.metadata import MetaInformation from calibre.ebooks.metadata import MetaInformation
from calibre.gui2.linux_file_dialogs import ( from calibre.gui2.linux_file_dialogs import (
@ -881,9 +881,8 @@ class Application(QApplication):
args.extend(['-platformpluginpath', plugins_loc, '-platform', 'headless']) args.extend(['-platformpluginpath', plugins_loc, '-platform', 'headless'])
self.headless = headless self.headless = headless
qargs = [i.encode('utf-8') if isinstance(i, unicode_type) else i for i in args] qargs = [i.encode('utf-8') if isinstance(i, unicode_type) else i for i in args]
self.pi, pi_err = plugins['progress_indicator'] from calibre_extensions import progress_indicator
if pi_err: self.pi = progress_indicator
raise RuntimeError('Failed to load the progress_indicator C extension, with error: {}'.format(pi_err))
if not ismacos and not headless: if not ismacos and not headless:
# On OS X high dpi scaling is turned on automatically by the OS, so we dont need to set it explicitly # On OS X high dpi scaling is turned on automatically by the OS, so we dont need to set it explicitly
setup_hidpi() setup_hidpi()
@ -899,7 +898,8 @@ class Application(QApplication):
if hasattr(sh, 'setShowShortcutsInContextMenus'): if hasattr(sh, 'setShowShortcutsInContextMenus'):
sh.setShowShortcutsInContextMenus(True) sh.setShowShortcutsInContextMenus(True)
if ismacos: if ismacos:
plugins['cocoa'][0].disable_cocoa_ui_elements() from calibre_extensions.cocoa import disable_cocoa_ui_elements
disable_cocoa_ui_elements()
self.setAttribute(Qt.AA_UseHighDpiPixmaps) self.setAttribute(Qt.AA_UseHighDpiPixmaps)
self.setAttribute(Qt.AA_SynthesizeTouchForUnhandledMouseEvents, False) self.setAttribute(Qt.AA_SynthesizeTouchForUnhandledMouseEvents, False)
try: try:
@ -977,10 +977,8 @@ class Application(QApplication):
self.aboutToQuit.connect(self.flush_clipboard) self.aboutToQuit.connect(self.flush_clipboard)
if ismacos: if ismacos:
cocoa, err = plugins['cocoa'] from calibre_extensions.cocoa import cursor_blink_time
if err: cft = cursor_blink_time()
raise RuntimeError('Failed to load cocoa plugin with error: {}'.format(err))
cft = cocoa.cursor_blink_time()
if cft >= 0: if cft >= 0:
self.setCursorFlashTime(int(cft)) self.setCursorFlashTime(int(cft))
@ -1134,7 +1132,8 @@ class Application(QApplication):
icon_map[getattr(QStyle, 'SP_'+k)] = v icon_map[getattr(QStyle, 'SP_'+k)] = v
transient_scroller = 0 transient_scroller = 0
if ismacos: if ismacos:
transient_scroller = plugins['cocoa'][0].transient_scroller() from calibre_extensions.cocoa import transient_scroller
transient_scroller = transient_scroller()
icon_map[QStyle.SP_CustomBase + 1] = I('close-for-light-theme.png') icon_map[QStyle.SP_CustomBase + 1] = I('close-for-light-theme.png')
icon_map[QStyle.SP_CustomBase + 2] = I('close-for-dark-theme.png') icon_map[QStyle.SP_CustomBase + 2] = I('close-for-dark-theme.png')
self.pi.load_style(icon_map, transient_scroller) self.pi.load_style(icon_map, transient_scroller)
@ -1491,8 +1490,9 @@ def set_app_uid(val):
def add_to_recent_docs(path): def add_to_recent_docs(path):
from calibre_extensions import winutil
app = QApplication.instance() app = QApplication.instance()
plugins['winutil'][0].add_to_recent_docs(unicode_type(path), app.windows_app_uid) winutil.add_to_recent_docs(unicode_type(path), app.windows_app_uid)
def windows_is_system_dark_mode_enabled(): def windows_is_system_dark_mode_enabled():