Source code for mindroot.lib.providers.commands
import inspect
import os
from . import ProviderManager
from mindroot.lib.utils.debug import debug_box
command_manager = ProviderManager()
[docs]
def command(*, 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__))
if module_name == 'l8n':
debug_box("registering l8n command!" + name)
command_manager.register_function(name, module_name, func, signature, docstring, flags)
return func
return decorator