From d59fb211556cd9b5a2bc028c5cf8a37b891cbfb3 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 3 Sep 2017 11:21:17 +0200 Subject: o Adding tools to download facts about parts from Digi-Key. --- src/ee/__main__.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/ee/__main__.py (limited to 'src/ee/__main__.py') diff --git a/src/ee/__main__.py b/src/ee/__main__.py new file mode 100644 index 0000000..75688c0 --- /dev/null +++ b/src/ee/__main__.py @@ -0,0 +1,53 @@ +from functools import total_ordering +import ee.tools +import importlib +import logging +import pkgutil +import sys + +def eprint(*args, **kwargs): + print(*args, file=sys.stderr, **kwargs) + +@total_ordering +class Tool(object): + def __init__(self, module_name, name): + self.module_name = module_name + self.name = name + + def __eq__(self, other): + return self.name == other.name + + def __lt__(self, other): + return self.name < other.name + +def find_tools(): + prefix = ee.tools.__name__ + '.' + ps = pkgutil.walk_packages(ee.tools.__path__, prefix) + tools = [] + for (module_loader, module_name, ispkg) in ps: + name = module_name.replace(prefix, '').replace('_', '-') + tools.append(Tool(module_name, name)) + return sorted(tools) + +if __name__ == "__main__": + + logging.basicConfig() # you need to initialize logging, otherwise you will not see anything from requests + logging.getLogger().setLevel(logging.DEBUG) + requests_log = logging.getLogger("requests.packages.urllib3") + requests_log.setLevel(logging.DEBUG) + requests_log.propagate = True + + tools = find_tools() + + name = sys.argv[1] + del sys.argv[1] + + for t in tools: + if t.name != name: + continue + sys.argv[0] = t.name + importlib.import_module(t.module_name) + exit(0) + + eprint("No such tool: {}".format(name)) + exit(1) -- cgit v1.2.3