#!/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))