forked from kovidgoyal/calibre
-
Notifications
You must be signed in to change notification settings - Fork 0
/
run-local
executable file
·26 lines (23 loc) · 778 Bytes
/
run-local
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/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))