File diff 48f1825d7e4e → ea0e3d3a73b7
import2ledger/dynload.py
Show inline comments
...
 
@@ -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)