msaf/configparser.py
def AddConfigVar(name, doc, configparam, root=config):
    """Add a new variable to msaf.config

    Parameters
    ----------
    name: str
        String of the form "[section0.[section1.[etc]]]option", containing the
        full name for this configuration variable.
    string: str
        What does this variable specify?
    configparam: `ConfigParam`
        An object for getting and setting this configuration parameter.
    root: object
        Used for recursive calls -- do not provide an argument for this
        parameter.
    """

    # This method also performs some of the work of initializing ConfigParam
    # instances

    if root is config:
        # only set the name in the first call, not the recursive ones
        configparam.fullname = name
    sections = name.split('.')
    if len(sections) > 1:
        # set up a subobject
        if not hasattr(root, sections[0]):
            # every internal node in the config tree is an instance of its own
            # unique class
            class SubObj(object):
                _i_am_a_config_class = True
            setattr(root.__class__, sections[0], SubObj())
        newroot = getattr(root, sections[0])
        if (not getattr(newroot, '_i_am_a_config_class', False) or
                isinstance(newroot, type)):
            raise TypeError(
                'Internal config nodes must be config class instances',
                newroot)
        return AddConfigVar('.'.join(sections[1:]), doc, configparam,
                            root=newroot)
    else:
        if hasattr(root, name):
            raise AttributeError('This name is already taken',
                                 configparam.fullname)
        configparam.doc = doc
        # Trigger a read of the value from config files and env vars
        # This allow to filter wrong value from the user.
        if not callable(configparam.default):
            configparam.__get__(root, type(root), delete_key=True)
        else:
            # We do not want to evaluate now the default value
            # when it is a callable.
            try:
                fetch_val_for_key(configparam.fullname)
                # The user provided a value, filter it now.
                configparam.__get__(root, type(root), delete_key=True)
            except KeyError:
                pass
        setattr(root.__class__, sections[0], configparam)
        _config_var_list.append(configparam)
def AddConfigVar(name, doc, configparam, root=config):
    # This method also performs some of the work of initializing ConfigParam
    # instances

    if root is config:
        # only set the name in the first call, not the recursive ones
        configparam.fullname = name
    sections = name.split('.')
    if len(sections) > 1:
        # set up a subobject
        if not hasattr(root, sections[0]):
            # every internal node in the config tree is an instance of its own
            # unique class
            class SubObj(object):
                _i_am_a_config_class = True
            setattr(root.__class__, sections[0], SubObj())
        newroot = getattr(root, sections[0])
        if (not getattr(newroot, '_i_am_a_config_class', False) or
                isinstance(newroot, type)):
            raise TypeError(
                'Internal config nodes must be config class instances',
                newroot)
        return AddConfigVar('.'.join(sections[1:]), doc, configparam,
                            root=newroot)
    else:
        if hasattr(root, name):
            raise AttributeError('This name is already taken',
                                 configparam.fullname)
        configparam.doc = doc
        # Trigger a read of the value from config files and env vars
        # This allow to filter wrong value from the user.
        if not callable(configparam.default):
            configparam.__get__(root, type(root), delete_key=True)
        else:
            # We do not want to evaluate now the default value
            # when it is a callable.
            try:
                fetch_val_for_key(configparam.fullname)
                # The user provided a value, filter it now.
                configparam.__get__(root, type(root), delete_key=True)
            except KeyError:
                pass
        setattr(root.__class__, sections[0], configparam)
        _config_var_list.append(configparam)
def AddConfigVar ( name , doc , configparam , root = config ) : # This method also performs some of the work of initializing ConfigParam # instances if root is config : # only set the name in the first call, not the recursive ones configparam . fullname = name sections = name . split ( '.' ) if len ( sections ) > 1 : # set up a subobject if not hasattr ( root , sections [ 0 ] ) : # every internal node in the config tree is an instance of its own # unique class class SubObj ( object ) : _i_am_a_config_class = True setattr ( root . __class__ , sections [ 0 ] , SubObj ( ) ) newroot = getattr ( root , sections [ 0 ] ) if ( not getattr ( newroot , '_i_am_a_config_class' , False ) or isinstance ( newroot , type ) ) : raise TypeError ( 'Internal config nodes must be config class instances' , newroot ) return AddConfigVar ( '.' . join ( sections [ 1 : ] ) , doc , configparam , root = newroot ) else : if hasattr ( root , name ) : raise AttributeError ( 'This name is already taken' , configparam . fullname ) configparam . doc = doc # Trigger a read of the value from config files and env vars # This allow to filter wrong value from the user. if not callable ( configparam . default ) : configparam . __get__ ( root , type ( root ) , delete_key = True ) else : # We do not want to evaluate now the default value # when it is a callable. try : fetch_val_for_key ( configparam . fullname ) # The user provided a value, filter it now. configparam . __get__ ( root , type ( root ) , delete_key = True ) except KeyError : pass setattr ( root . __class__ , sections [ 0 ] , configparam ) _config_var_list . append ( configparam )
Add a new variable to msaf.config

    Parameters
    ----------
    name: str
        String of the form "[section0.[section1.[etc]]]option", containing the
        full name for this configuration variable.
    string: str
        What does this variable specify?
    configparam: `ConfigParam`
        An object for getting and setting this configuration parameter.
    root: object
        Used for recursive calls -- do not provide an argument for this
        parameter.
Add a new variable to msaf . config