From 22dfb74f72aaed5b1e86a4e1611bd1b18e670ad8 Mon Sep 17 00:00:00 2001 From: Igor Chubin Date: Wed, 1 May 2019 09:30:56 +0200 Subject: [PATCH] lib/adapter/__init__.py: load adapter modules dynamically --- lib/adapter/__init__.py | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/lib/adapter/__init__.py b/lib/adapter/__init__.py index f5147d3..de0c3eb 100644 --- a/lib/adapter/__init__.py +++ b/lib/adapter/__init__.py @@ -1,9 +1,18 @@ -from . import cheat_sheets -from . import cmd -from . import internal -from . import latenz -from . import learnxiny -from . import question -from . import rosetta -from . import cheat_cheat -from . import tldr +""" +Import all adapters from the current directory +and make them available for import as + adapter_module.AdapterName +""" + +# pylint: disable=wildcard-import,relative-import + +from os.path import dirname, basename, isfile, join +import glob + +__all__ = [ + basename(f)[:-3] + for f in glob.glob(join(dirname(__file__), "*.py")) + if isfile(f) and not f.endswith('__init__.py')] + +from adapter import all_adapters +from . import *