From 07aa2154f13a2c90ac3f98b676cddd4e2b1a82b8 Mon Sep 17 00:00:00 2001 From: mikeos Date: Sat, 28 Sep 2013 16:38:17 +0400 Subject: support of different output encoding formats --- formats/__init__.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 formats/__init__.py (limited to 'formats/__init__.py') diff --git a/formats/__init__.py b/formats/__init__.py new file mode 100644 index 0000000..7ebd9fd --- /dev/null +++ b/formats/__init__.py @@ -0,0 +1,24 @@ +import importlib +import os + +path = os.path.dirname(__file__) or "." + +__formats = {} + +for entry in sorted(os.listdir(path)): + if not entry.endswith(".py") or entry.startswith("_"): + continue + + modname = entry.replace(".py", "") + mod = __import__(modname, globals(), locals(), ["init"], 1) + fmt = mod.init() + __formats[fmt.name] = fmt + +def supported(): + return sorted(__formats.keys()) + +def issupported(name): + return name in __formats + +def handler(name, logger = None): + return __formats.get(name)(logger) -- cgit v1.2.3-70-g09d2