diff --git a/python/obitools3/apps/config.pxd b/python/obitools3/apps/config.pxd index d055eef..74c595f 100644 --- a/python/obitools3/apps/config.pxd +++ b/python/obitools3/apps/config.pxd @@ -6,5 +6,5 @@ cpdef str getRootConfigName() cdef dict buildDefaultConfiguration(str root_config_name, dict config) -cpdef dict getConfiguration(str root_config_name, - dict config) \ No newline at end of file +cpdef dict getConfiguration(str root_config_name=?, + dict config=?) \ No newline at end of file diff --git a/python/obitools3/apps/config.pyx b/python/obitools3/apps/config.pyx index 55178ec..c8e3baa 100644 --- a/python/obitools3/apps/config.pyx +++ b/python/obitools3/apps/config.pyx @@ -12,7 +12,7 @@ from .command import getCommandsList from .logging cimport getLogger from .arguments cimport buildArgumentParser -from obitools3.version import version +from ..version import version from _curses import version cdef dict __default_config__ = {} @@ -57,13 +57,20 @@ cdef dict buildDefaultConfiguration(str root_config_name, return __default_config__ -cpdef dict getConfiguration(str root_config_name, - dict config): +cpdef dict getConfiguration(str root_config_name="__default__", + dict config={}): global __default_config__ if '__done__' in __default_config__: return __default_config__ + if root_config_name=="__default__": + raise RuntimeError("No root_config_name specified") + + if not config: + raise RuntimeError("Base configuration is empty") + + config = buildDefaultConfiguration(root_config_name, config)