calibre/run-local

27 lines
778 B
Python
Executable File

#!/usr/bin/env python
import importlib
import os
import sys
sys.run_local = os.path.abspath(__file__)
base = os.path.dirname(sys.run_local)
src = os.path.join(base, 'src')
if src not in sys.path:
sys.path.insert(0, src)
sys.resources_location = os.path.join(base, 'resources')
sys.extensions_location = os.path.join(src, 'calibre', 'plugins')
entry_point = sys.argv[1]
del sys.argv[1]
del src
del base
for ep in importlib.import_module('calibre.linux').entry_points.values():
for line in ep:
q, spec = (x.strip() for x in line.split('='))
if q == entry_point:
mod, func = spec.split(':')
m = importlib.import_module(mod)
sys.exit(getattr(m, func)())
raise SystemExit('No entry point named: {}'.format(entry_point))