def _update_section(self, params, sec_name, sec_alias=None, del_prefix='Deleted ', alpha_order=False, other_sections=()):
    'Update section to add / remove params\n\n        As a failsafe, params that are removed are placed in a\n        "Deleted ..." section\n\n        Args:\n            params (OrderedDict): dict of Parameter objects\n            sec_name (str): generic section name\n            sec_alias (str): section name that appears in teh docstring\n            del_prefix (str): prefix for section that holds params that\n                no longer exist.\n            alpha_order (bool): whether or not to alphabetically sort\n                the params\n        '
    if (not sec_alias):
        sec_alias = sec_name
    if ((not self.section_exists(sec_name)) and (len(params) == 0)):
        return None
    elif (not self.section_exists(sec_name)):
        self.finalize_section(sec_alias, '')
    _other = []
    for _secname in other_sections:
        if self.section_exists(_secname):
            _other.append(self.get_section(_secname))
    other_sections = _other
    if alpha_order:
        sorted_params = OrderedDict()
        for k in sorted(list(params.keys()), key=str.lower):
            sorted_params[k] = params[k]
        params = sorted_params
    current_dict = self.get_section(sec_name).args
    tags_seen = dict()
    new = OrderedDict()
    for (name, param) in params.items():
        if (name in current_dict):
            def_param = param
            param = current_dict.pop(name)
            if (param.tag in tags_seen):
                param = None
            else:
                tags_seen[param.tag] = True
            if def_param.annotated:
                param.types = def_param.types
        else:
            for sec in other_sections:
                if (name in sec.args):
                    if param.annotated:
                        sec.args[name].types = param.types
                    param = None
        if param:
            new[name] = param
    for (key, param) in current_dict.items():
        if param.descr_only:
            new[key] = current_dict.pop(key)
    if ('' in current_dict):
        del current_dict['']
    if len(current_dict):
        del_sec_name = (del_prefix + sec_name)
        del_sec_alias = (del_prefix + sec_alias)
        logger.warn('killing parameters named: {}'.format(current_dict.keys()))
        if (not self.section_exists(self.SECTION_STYLE.resolve_alias(del_sec_name))):
            self.finalize_section(del_sec_name, '')
        deled_params = self.get_section(del_sec_name)
        deleted_tags = dict()
        for (key, val) in current_dict.items():
            if (key in deled_params.args):
                logger.warn("Stronger Warning: Killing old deleted param: '{0}'".format(key))
            val.names.remove(key)
            if (val.tag in deleted_tags):
                deleted_tags[val.tag].names.append(key)
            else:
                new_val = Parameter([key], val.types, val.description)
                deleted_tags[val.tag] = new_val
                deled_params.args[key] = new_val
    if (len(new) == 0):
        self.sections[sec_name] = None
    else:
        self.sections[sec_name].args = new
Update section to add / remove params

As a failsafe, params that are removed are placed in a
"Deleted ..." section

Args:
    params (OrderedDict): dict of Parameter objects
    sec_name (str): generic section name
    sec_alias (str): section name that appears in teh docstring
    del_prefix (str): prefix for section that holds params that
        no longer exist.
    alpha_order (bool): whether or not to alphabetically sort
        the params
def _update_section(self, params, sec_name, sec_alias=None, del_prefix='Deleted ', alpha_order=False, other_sections=()):
    'Update section to add / remove params\n\n        As a failsafe, params that are removed are placed in a\n        "Deleted ..." section\n\n        Args:\n            params (OrderedDict): dict of Parameter objects\n            sec_name (str): generic section name\n            sec_alias (str): section name that appears in teh docstring\n            del_prefix (str): prefix for section that holds params that\n                no longer exist.\n            alpha_order (bool): whether or not to alphabetically sort\n                the params\n        '
    if (not sec_alias):
        sec_alias = sec_name
    if ((not self.section_exists(sec_name)) and (len(params) == 0)):
        return None
    elif (not self.section_exists(sec_name)):
        self.finalize_section(sec_alias, )
    _other = []
    for _secname in other_sections:
        if self.section_exists(_secname):
            _other.append(self.get_section(_secname))
    other_sections = _other
    if alpha_order:
        sorted_params = OrderedDict()
        for k in sorted(list(params.keys()), key=str.lower):
            sorted_params[k] = params[k]
        params = sorted_params
    current_dict = self.get_section(sec_name).args
    tags_seen = dict()
    new = OrderedDict()
    for (name, param) in params.items():
        if (name in current_dict):
            def_param = param
            param = current_dict.pop(name)
            if (param.tag in tags_seen):
                param = None
            else:
                tags_seen[param.tag] = True
            if def_param.annotated:
                param.types = def_param.types
        else:
            for sec in other_sections:
                if (name in sec.args):
                    if param.annotated:
                        sec.args[name].types = param.types
                    param = None
        if param:
            new[name] = param
    for (key, param) in current_dict.items():
        if param.descr_only:
            new[key] = current_dict.pop(key)
    if ( in current_dict):
        del current_dict[]
    if len(current_dict):
        del_sec_name = (del_prefix + sec_name)
        del_sec_alias = (del_prefix + sec_alias)
        logger.warn('killing parameters named: {}'.format(current_dict.keys()))
        if (not self.section_exists(self.SECTION_STYLE.resolve_alias(del_sec_name))):
            self.finalize_section(del_sec_name, )
        deled_params = self.get_section(del_sec_name)
        deleted_tags = dict()
        for (key, val) in current_dict.items():
            if (key in deled_params.args):
                logger.warn("Stronger Warning: Killing old deleted param: '{0}'".format(key))
            val.names.remove(key)
            if (val.tag in deleted_tags):
                deleted_tags[val.tag].names.append(key)
            else:
                new_val = Parameter([key], val.types, val.description)
                deleted_tags[val.tag] = new_val
                deled_params.args[key] = new_val
    if (len(new) == 0):
        self.sections[sec_name] = None
    else:
        self.sections[sec_name].args = new