@@ -2,6 +2,8 @@ import importlib
import logging
import pathlib
from . import errors
logger = logging.getLogger('import2ledger')
def load_modules(src_dir_path):
@@ -23,8 +25,11 @@ def module_contents(module):
for name in dir(module):
yield name, getattr(module, name)
def submodule_items_named(file_path, name_test):
def submodule_items_named(file_path, name_test, config):
for module in load_modules(pathlib.Path(file_path).parent):
for name, item in module_contents(module):
if name_test(name):
yield item
try:
yield item(config)
except errors.NotConfiguredError as error:
logger.info("failed to load %s: %s", name, error.strerror)