Source code for mindroot.lib.providers.services

import os
import inspect
from . import ProviderManager

service_manager = ProviderManager()

[docs] def service(*, flags=[]): def decorator(func): docstring = func.__doc__ name = func.__name__ signature = inspect.signature(func) module = inspect.getmodule(func) if module is None: raise ValueError("Cannot determine module of function") module_name = os.path.basename(os.path.dirname(module.__file__)) service_manager.register_function(name, module_name, func, signature, docstring, flags) return func return decorator