risotto/src/risotto/services/__init__.py

20 lines
695 B
Python
Raw Normal View History

2019-11-28 14:50:53 +01:00
from os import listdir
from os.path import isdir, isfile, dirname, abspath, basename, join
from importlib import import_module
from ..dispatcher import dispatcher
2019-12-07 16:21:20 +01:00
def load_services(modules=None,
validate: bool=True):
2019-11-28 14:50:53 +01:00
abs_here = dirname(abspath(__file__))
here = basename(abs_here)
module = basename(dirname(abs_here))
2019-12-07 16:21:20 +01:00
if not modules:
modules = listdir(abs_here)
for filename in modules:
2019-11-28 14:50:53 +01:00
absfilename = join(abs_here, filename)
if isdir(absfilename) and isfile(join(absfilename, '__init__.py')):
dispatcher.set_module(filename, import_module(f'.{here}.{filename}', module))
2019-12-07 16:21:20 +01:00
if validate:
dispatcher.validate()