1#!/usr/bin/env python
2import importlib
3import os
4import sys
5
6
7sys.run_local = os.path.abspath(__file__)
8base = os.path.dirname(sys.run_local)
9src = os.path.join(base, 'src')
10if src not in sys.path:
11    sys.path.insert(0, src)
12sys.resources_location = os.path.join(base, 'resources')
13sys.extensions_location = os.path.join(src, 'calibre', 'plugins')
14entry_point = sys.argv[1]
15del sys.argv[1]
16del src
17del base
18
19for ep in importlib.import_module('calibre.linux').entry_points.values():
20    for line in ep:
21        q, spec = (x.strip() for x in line.split('='))
22        if q == entry_point:
23            mod, func = spec.split(':')
24            m = importlib.import_module(mod)
25            sys.exit(getattr(m, func)())
26raise SystemExit('No entry point named: {}'.format(entry_point))
27