mirror of
https://github.com/gryf/ebook-converter.git
synced 2026-03-02 23:05:51 +01:00
Convert calibre modules to ebook_converter.
Here is the first batch of modules, which are needed for converting several formats to LRF. Some of the logic has been change, more cleanups will follow.
This commit is contained in:
@@ -9,10 +9,10 @@ __docformat__ = 'restructuredtext en'
|
||||
import os, errno, sys
|
||||
from threading import Thread
|
||||
|
||||
from calibre import force_unicode
|
||||
from calibre.constants import iswindows, get_windows_username, islinux, filesystem_encoding, ispy3
|
||||
from calibre.utils.filenames import ascii_filename
|
||||
from polyglot.functools import lru_cache
|
||||
from ebook_converter import force_unicode
|
||||
from ebook_converter.constants import iswindows, get_windows_username, islinux, filesystem_encoding, ispy3
|
||||
from ebook_converter.utils.filenames import ascii_filename
|
||||
from ebook_converter.polyglot.functools import lru_cache
|
||||
|
||||
VADDRESS = None
|
||||
|
||||
|
||||
@@ -9,12 +9,12 @@ __docformat__ = 'restructuredtext en'
|
||||
import subprocess, os, sys, time
|
||||
from functools import partial
|
||||
|
||||
from calibre.constants import iswindows, isosx, isfrozen, filesystem_encoding, ispy3
|
||||
from calibre.utils.config import prefs
|
||||
from calibre.ptempfile import PersistentTemporaryFile, base_dir
|
||||
from calibre.utils.serialize import msgpack_dumps
|
||||
from polyglot.builtins import iteritems, unicode_type, string_or_bytes, environ_item, native_string_type, getcwd
|
||||
from polyglot.binary import as_hex_unicode
|
||||
from ebook_converter.constants import iswindows, isosx, isfrozen, filesystem_encoding, ispy3
|
||||
from ebook_converter.utils.config import prefs
|
||||
from ebook_converter.ptempfile import PersistentTemporaryFile, base_dir
|
||||
from ebook_converter.utils.serialize import msgpack_dumps
|
||||
from ebook_converter.polyglot.builtins import iteritems, unicode_type, string_or_bytes, environ_item, native_string_type, getcwd
|
||||
from ebook_converter.polyglot.binary import as_hex_unicode
|
||||
|
||||
if iswindows:
|
||||
import win32process
|
||||
|
||||
@@ -11,13 +11,13 @@ from multiprocessing.connection import Client
|
||||
from threading import Thread
|
||||
from contextlib import closing
|
||||
|
||||
from calibre.constants import iswindows
|
||||
from calibre.utils.ipc import eintr_retry_call
|
||||
from calibre.utils.ipc.launch import Worker
|
||||
from calibre.utils.serialize import msgpack_loads, msgpack_dumps
|
||||
from calibre.utils.monotonic import monotonic
|
||||
from polyglot.builtins import unicode_type, string_or_bytes, environ_item
|
||||
from polyglot.binary import as_hex_unicode, from_hex_bytes
|
||||
from ebook_converter.constants import iswindows
|
||||
from ebook_converter.utils.ipc import eintr_retry_call
|
||||
from ebook_converter.utils.ipc.launch import Worker
|
||||
from ebook_converter.utils.serialize import msgpack_loads, msgpack_dumps
|
||||
from ebook_converter.utils.monotonic import monotonic
|
||||
from ebook_converter.polyglot.builtins import unicode_type, string_or_bytes, environ_item
|
||||
from ebook_converter.polyglot.binary import as_hex_unicode, from_hex_bytes
|
||||
|
||||
|
||||
class WorkerError(Exception):
|
||||
@@ -125,7 +125,7 @@ def communicate(ans, worker, listener, args, timeout=300, heartbeat=None,
|
||||
|
||||
|
||||
def create_worker(env, priority='normal', cwd=None, func='main'):
|
||||
from calibre.utils.ipc.server import create_listener
|
||||
from ebook_converter.utils.ipc.server import create_listener
|
||||
auth_key = os.urandom(32)
|
||||
address, listener = create_listener(auth_key)
|
||||
|
||||
@@ -133,7 +133,7 @@ def create_worker(env, priority='normal', cwd=None, func='main'):
|
||||
env.update({
|
||||
'CALIBRE_WORKER_ADDRESS': environ_item(as_hex_unicode(msgpack_dumps(address))),
|
||||
'CALIBRE_WORKER_KEY': environ_item(as_hex_unicode(auth_key)),
|
||||
'CALIBRE_SIMPLE_WORKER': environ_item('calibre.utils.ipc.simple_worker:%s' % func),
|
||||
'CALIBRE_SIMPLE_WORKER': environ_item('ebook_converter.utils.ipc.simple_worker:%s' % func),
|
||||
})
|
||||
|
||||
w = Worker(env)
|
||||
@@ -295,14 +295,14 @@ def main():
|
||||
try:
|
||||
mod, func, args, kwargs, module_is_source_code = args
|
||||
if module_is_source_code:
|
||||
importlib.import_module('calibre.customize.ui') # Load plugins
|
||||
importlib.import_module('ebook_converter.customize.ui') # Load plugins
|
||||
mod = compile_code(mod)
|
||||
func = mod[func]
|
||||
else:
|
||||
try:
|
||||
mod = importlib.import_module(mod)
|
||||
except ImportError:
|
||||
importlib.import_module('calibre.customize.ui') # Load plugins
|
||||
importlib.import_module('ebook_converter.customize.ui') # Load plugins
|
||||
mod = importlib.import_module(mod)
|
||||
func = getattr(mod, func)
|
||||
res = {'result':func(*args, **kwargs)}
|
||||
@@ -337,7 +337,7 @@ def offload():
|
||||
try:
|
||||
m = importlib.import_module(mod)
|
||||
except ImportError:
|
||||
importlib.import_module('calibre.customize.ui') # Load plugins
|
||||
importlib.import_module('ebook_converter.customize.ui') # Load plugins
|
||||
m = importlib.import_module(mod)
|
||||
func_cache[(mod, func)] = f = getattr(m, func)
|
||||
res['result'] = f(*args, **kwargs)
|
||||
|
||||
Reference in New Issue
Block a user