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:
extra = ('winutil', 'wpd', 'winfonts')
elif ismacos:
extra = ('usbobserver', 'cocoa')
elif isfreebsd or ishaiku or islinux or ismacos:
extra = ('usbobserver', 'cocoa', 'libusb', 'libmtp')
elif isfreebsd or ishaiku or islinux:
extra = ('libusb', 'libmtp')
else:
extra = ()

View File

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

View File

@ -26,7 +26,7 @@ from calibre import as_unicode, prints
from calibre.constants import (
DEBUG, __appname__ as APP_UID, __version__, config_dir, filesystem_encoding,
is_running_from_develop, isbsd, isfrozen, islinux, ismacos, iswindows, isxp,
plugins, plugins_loc
plugins_loc
)
from calibre.ebooks.metadata import MetaInformation
from calibre.gui2.linux_file_dialogs import (
@ -881,9 +881,8 @@ class Application(QApplication):
args.extend(['-platformpluginpath', plugins_loc, '-platform', 'headless'])
self.headless = headless
qargs = [i.encode('utf-8') if isinstance(i, unicode_type) else i for i in args]
self.pi, pi_err = plugins['progress_indicator']
if pi_err:
raise RuntimeError('Failed to load the progress_indicator C extension, with error: {}'.format(pi_err))
from calibre_extensions import progress_indicator
self.pi = progress_indicator
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
setup_hidpi()
@ -899,7 +898,8 @@ class Application(QApplication):
if hasattr(sh, 'setShowShortcutsInContextMenus'):
sh.setShowShortcutsInContextMenus(True)
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_SynthesizeTouchForUnhandledMouseEvents, False)
try:
@ -977,10 +977,8 @@ class Application(QApplication):
self.aboutToQuit.connect(self.flush_clipboard)
if ismacos:
cocoa, err = plugins['cocoa']
if err:
raise RuntimeError('Failed to load cocoa plugin with error: {}'.format(err))
cft = cocoa.cursor_blink_time()
from calibre_extensions.cocoa import cursor_blink_time
cft = cursor_blink_time()
if cft >= 0:
self.setCursorFlashTime(int(cft))
@ -1134,7 +1132,8 @@ class Application(QApplication):
icon_map[getattr(QStyle, 'SP_'+k)] = v
transient_scroller = 0
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 + 2] = I('close-for-dark-theme.png')
self.pi.load_style(icon_map, transient_scroller)
@ -1491,8 +1490,9 @@ def set_app_uid(val):
def add_to_recent_docs(path):
from calibre_extensions import winutil
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():