mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Replace more uses of plugins dict
This commit is contained in:
parent
983bb2aabb
commit
830b1a94e6
@ -8,12 +8,8 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
|||||||
import io
|
import io
|
||||||
from struct import pack
|
from struct import pack
|
||||||
|
|
||||||
from calibre.constants import plugins
|
|
||||||
from polyglot.builtins import range
|
from polyglot.builtins import range
|
||||||
cPalmdoc = plugins['cPalmdoc'][0]
|
from calibre_extensions import cPalmdoc
|
||||||
if not cPalmdoc:
|
|
||||||
raise RuntimeError(('Failed to load required cPalmdoc module: '
|
|
||||||
'%s')%plugins['cPalmdoc'][1])
|
|
||||||
|
|
||||||
|
|
||||||
def decompress_doc(data):
|
def decompress_doc(data):
|
||||||
|
@ -14,16 +14,14 @@ import sys
|
|||||||
import struct
|
import struct
|
||||||
|
|
||||||
from calibre.ebooks.djvu.djvubzzdec import BZZDecoder
|
from calibre.ebooks.djvu.djvubzzdec import BZZDecoder
|
||||||
from calibre.constants import plugins
|
|
||||||
|
|
||||||
|
|
||||||
class DjvuChunk(object):
|
class DjvuChunk(object):
|
||||||
|
|
||||||
def __init__(self, buf, start, end, align=True, bigendian=True,
|
def __init__(self, buf, start, end, align=True, bigendian=True,
|
||||||
inclheader=False, verbose=0):
|
inclheader=False, verbose=0):
|
||||||
self.speedup, err = plugins['bzzdec']
|
from calibre_extensions import speedup
|
||||||
if self.speedup is None:
|
self.speedup = speedup
|
||||||
raise RuntimeError('Failed to load bzzdec plugin: %s' % err)
|
|
||||||
self.subtype = None
|
self.subtype = None
|
||||||
self._subchunks = []
|
self._subchunks = []
|
||||||
self.buf = buf
|
self.buf = buf
|
||||||
|
@ -733,10 +733,9 @@ class BZZDecoder():
|
|||||||
# for testing
|
# for testing
|
||||||
def main():
|
def main():
|
||||||
import sys
|
import sys
|
||||||
from calibre.constants import plugins
|
from calibre_extensions import bzzdec as d
|
||||||
with open(sys.argv[1], "rb") as f:
|
with open(sys.argv[1], "rb") as f:
|
||||||
raw = f.read()
|
raw = f.read()
|
||||||
d = plugins['bzzdec'][0]
|
|
||||||
print(d.decompress(raw))
|
print(d.decompress(raw))
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,11 +7,7 @@ LZX compression/decompression wrapper.
|
|||||||
__license__ = 'GPL v3'
|
__license__ = 'GPL v3'
|
||||||
__copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.com>'
|
__copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.com>'
|
||||||
|
|
||||||
from calibre.constants import plugins
|
from calibre_extensions import lzx as _lzx
|
||||||
|
|
||||||
_lzx, _error = plugins['lzx']
|
|
||||||
if _lzx is None:
|
|
||||||
raise RuntimeError('Failed to load the lzx plugin: %s' % _error)
|
|
||||||
|
|
||||||
__all__ = ['Compressor', 'Decompressor', 'LZXError']
|
__all__ = ['Compressor', 'Decompressor', 'LZXError']
|
||||||
|
|
||||||
|
@ -17,12 +17,9 @@ import calibre.ebooks.lit.mssha1 as mssha1
|
|||||||
from calibre.ebooks.oeb.base import urlnormalize, xpath
|
from calibre.ebooks.oeb.base import urlnormalize, xpath
|
||||||
from calibre.ebooks.oeb.reader import OEBReader
|
from calibre.ebooks.oeb.reader import OEBReader
|
||||||
from calibre.ebooks import DRMError
|
from calibre.ebooks import DRMError
|
||||||
from calibre.constants import plugins
|
|
||||||
from polyglot.builtins import codepoint_to_chr, unicode_type, string_or_bytes, range, itervalues
|
from polyglot.builtins import codepoint_to_chr, unicode_type, string_or_bytes, range, itervalues
|
||||||
from polyglot.urllib import unquote as urlunquote, urldefrag
|
from polyglot.urllib import unquote as urlunquote, urldefrag
|
||||||
|
from calibre_extensions import lzx, msdes
|
||||||
lzx, lxzerror = plugins['lzx']
|
|
||||||
msdes, msdeserror = plugins['msdes']
|
|
||||||
|
|
||||||
__all__ = ["LitReader"]
|
__all__ = ["LitReader"]
|
||||||
|
|
||||||
|
@ -27,8 +27,7 @@ from calibre.ebooks.oeb.base import prefixname, \
|
|||||||
from calibre.ebooks.oeb.stylizer import Stylizer
|
from calibre.ebooks.oeb.stylizer import Stylizer
|
||||||
from calibre.ebooks.lit.lzx import Compressor
|
from calibre.ebooks.lit.lzx import Compressor
|
||||||
import calibre
|
import calibre
|
||||||
from calibre.constants import plugins
|
from calibre_extensions import msdes
|
||||||
msdes, msdeserror = plugins['msdes']
|
|
||||||
import calibre.ebooks.lit.mssha1 as mssha1
|
import calibre.ebooks.lit.mssha1 as mssha1
|
||||||
from polyglot.builtins import codepoint_to_chr, unicode_type, string_or_bytes, range, zip, native_string_type
|
from polyglot.builtins import codepoint_to_chr, unicode_type, string_or_bytes, range, zip, native_string_type
|
||||||
from polyglot.urllib import urldefrag, unquote
|
from polyglot.urllib import urldefrag, unquote
|
||||||
|
@ -10,12 +10,10 @@ import codecs, zlib, numbers
|
|||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from calibre.constants import plugins
|
|
||||||
from calibre.utils.logging import default_log
|
from calibre.utils.logging import default_log
|
||||||
from polyglot.builtins import iteritems, unicode_type, codepoint_to_chr
|
from polyglot.builtins import iteritems, unicode_type, codepoint_to_chr
|
||||||
from polyglot.binary import as_hex_bytes
|
from polyglot.binary import as_hex_bytes
|
||||||
|
from calibre_extensions.speedup import pdf_float
|
||||||
pdf_float = plugins['speedup'][0].pdf_float
|
|
||||||
|
|
||||||
EOL = b'\n'
|
EOL = b'\n'
|
||||||
|
|
||||||
|
@ -8,14 +8,13 @@ import os
|
|||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
|
from calibre_extensions import hunspell
|
||||||
from collections import defaultdict, namedtuple
|
from collections import defaultdict, namedtuple
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
||||||
from calibre import prints
|
from calibre import prints
|
||||||
from calibre.constants import (
|
from calibre.constants import config_dir, filesystem_encoding, iswindows
|
||||||
config_dir, filesystem_encoding, iswindows, plugins
|
|
||||||
)
|
|
||||||
from calibre.spell import parse_lang_code
|
from calibre.spell import parse_lang_code
|
||||||
from calibre.utils.config import JSONConfig
|
from calibre.utils.config import JSONConfig
|
||||||
from calibre.utils.icu import capitalize
|
from calibre.utils.icu import capitalize
|
||||||
@ -24,9 +23,6 @@ from polyglot.builtins import filter, iteritems, itervalues, map, unicode_type
|
|||||||
|
|
||||||
Dictionary = namedtuple('Dictionary', 'primary_locale locales dicpath affpath builtin name id')
|
Dictionary = namedtuple('Dictionary', 'primary_locale locales dicpath affpath builtin name id')
|
||||||
LoadedDictionary = namedtuple('Dictionary', 'primary_locale locales obj builtin name id')
|
LoadedDictionary = namedtuple('Dictionary', 'primary_locale locales obj builtin name id')
|
||||||
hunspell = plugins['hunspell'][0]
|
|
||||||
if hunspell is None:
|
|
||||||
raise RuntimeError('Failed to load hunspell: %s' % plugins['hunspell'][1])
|
|
||||||
dprefs = JSONConfig('dictionaries/prefs.json')
|
dprefs = JSONConfig('dictionaries/prefs.json')
|
||||||
dprefs.defaults['preferred_dictionaries'] = {}
|
dprefs.defaults['preferred_dictionaries'] = {}
|
||||||
dprefs.defaults['preferred_locales'] = {}
|
dprefs.defaults['preferred_locales'] = {}
|
||||||
|
@ -12,7 +12,7 @@ Test a binary calibre build to ensure that all needed binary images/libraries ha
|
|||||||
|
|
||||||
import os, ctypes, sys, unittest, time, shutil
|
import os, ctypes, sys, unittest, time, shutil
|
||||||
|
|
||||||
from calibre.constants import plugins, iswindows, islinux, ismacos, plugins_loc
|
from calibre.constants import iswindows, islinux, ismacos, plugins_loc
|
||||||
from polyglot.builtins import iteritems, map, unicode_type, getenv
|
from polyglot.builtins import iteritems, map, unicode_type, getenv
|
||||||
|
|
||||||
is_ci = os.environ.get('CI', '').lower() == 'true'
|
is_ci = os.environ.get('CI', '').lower() == 'true'
|
||||||
@ -22,7 +22,8 @@ class BuildTest(unittest.TestCase):
|
|||||||
|
|
||||||
@unittest.skipUnless(iswindows and not is_ci, 'DLL loading needs testing only on windows (non-continuous integration)')
|
@unittest.skipUnless(iswindows and not is_ci, 'DLL loading needs testing only on windows (non-continuous integration)')
|
||||||
def test_dlls(self):
|
def test_dlls(self):
|
||||||
base = plugins['winutil'][0].get_dll_directory()
|
from calibre_extensions import winutil
|
||||||
|
base = winutil.get_dll_directory()
|
||||||
for x in os.listdir(base):
|
for x in os.listdir(base):
|
||||||
if x.lower().endswith('.dll'):
|
if x.lower().endswith('.dll'):
|
||||||
try:
|
try:
|
||||||
@ -105,14 +106,15 @@ class BuildTest(unittest.TestCase):
|
|||||||
if islinux and not os.path.exists('/dev/bus/usb'):
|
if islinux and not os.path.exists('/dev/bus/usb'):
|
||||||
# libusb fails to initialize in containers without USB subsystems
|
# libusb fails to initialize in containers without USB subsystems
|
||||||
exclusions.update(set('libusb libmtp'.split()))
|
exclusions.update(set('libusb libmtp'.split()))
|
||||||
for name in plugins:
|
from importlib import import_module
|
||||||
|
from importlib.resources import contents
|
||||||
|
for name in contents('calibre_extensions'):
|
||||||
if name in exclusions:
|
if name in exclusions:
|
||||||
if name in ('libusb', 'libmtp'):
|
if name in ('libusb', 'libmtp'):
|
||||||
# Just check that the DLL can be loaded
|
# Just check that the DLL can be loaded
|
||||||
ctypes.CDLL(os.path.join(plugins_loc, name + ('.dylib' if ismacos else '.so')))
|
ctypes.CDLL(os.path.join(plugins_loc, name + ('.dylib' if ismacos else '.so')))
|
||||||
continue
|
continue
|
||||||
mod, err = plugins[name]
|
import_module('calibre_extensions.' + name)
|
||||||
self.assertTrue(mod, f'Failed to load plugin: {name} with error: {err}')
|
|
||||||
|
|
||||||
def test_lxml(self):
|
def test_lxml(self):
|
||||||
from calibre.utils.cleantext import test_clean_xml_chars
|
from calibre.utils.cleantext import test_clean_xml_chars
|
||||||
@ -147,9 +149,8 @@ class BuildTest(unittest.TestCase):
|
|||||||
@unittest.skipUnless(iswindows, 'winutil is windows only')
|
@unittest.skipUnless(iswindows, 'winutil is windows only')
|
||||||
def test_winutil(self):
|
def test_winutil(self):
|
||||||
import tempfile
|
import tempfile
|
||||||
from calibre.constants import plugins
|
|
||||||
from calibre import strftime
|
from calibre import strftime
|
||||||
winutil = plugins['winutil'][0]
|
from calibre_extensions import winutil
|
||||||
|
|
||||||
def au(x, name):
|
def au(x, name):
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
@ -363,7 +364,7 @@ class BuildTest(unittest.TestCase):
|
|||||||
|
|
||||||
@unittest.skipUnless(iswindows, 'WPD is windows only')
|
@unittest.skipUnless(iswindows, 'WPD is windows only')
|
||||||
def test_wpd(self):
|
def test_wpd(self):
|
||||||
wpd = plugins['wpd'][0]
|
from calibre_extensions import wpd
|
||||||
try:
|
try:
|
||||||
wpd.init('calibre', 1, 1, 1)
|
wpd.init('calibre', 1, 1, 1)
|
||||||
except wpd.NoWPD:
|
except wpd.NoWPD:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user