import os import importlib import pkgutil from cafe.configurator.managers import EngineConfigManager from cafe.engine.config import EngineConfig ENGINE_CONFIG = EngineConfig( os.environ.get("CAFE_ENGINE_CONFIG_FILE_PATH") or EngineConfigManager.ENGINE_CONFIG_PATH) def print_configs(): config_dir = os.path.abspath(os.path.expanduser( ENGINE_CONFIG.config_directory)) for path, dirs, files in os.walk(config_dir): for file_ in files: if file_.endswith(".config"): print( os.path.join(path, file_)[len(config_dir) + len(os.sep):]) def print_imports(string): import_paths = string.strip().rsplit(".", 1) if len(import_paths) == 1: for _, module_name, _ in pkgutil.iter_modules(): if module_name.startswith(import_paths[0]): print(module_name) else: try: base = importlib.import_module(import_paths[0]) for _, name, _ in pkgutil.iter_modules(base.__path__): if name.startswith(import_paths[1]): print("{0}.{1}".format(import_paths[0], name)) except: return def print_products(): try: base = importlib.import_module(ENGINE_CONFIG.default_test_repo) for _, name, _ in pkgutil.iter_modules(base.__path__): print(name) except: return def print_configs_by_product(product): config_dir = os.path.join( os.path.abspath(os.path.expanduser(ENGINE_CONFIG.config_directory)), product) for path, dirs, files in os.walk(config_dir): for file_ in files: if file_.endswith(".config"): print( os.path.join(path, file_)[len(config_dir) + len(os.sep):])