def get_settings_by_keyword(keyword=None):
settings = []<EOL>if keyword is None:<EOL><INDENT>for key, ischemas in list(CONTROLPANEL_INTERFACE_MAPPING.items()):<EOL><INDENT>settings_from_ifaces = list(map(get_settings_from_interface, ischemas))<EOL>settings_from_key = {k: v for d in settings_from_ifaces for k, v in list(d.items())}<EOL>settings.append({key: settings_from_key,<EOL>"<STR_LIT>": url_for("<STR_LIT>", key=key)})<EOL><DEDENT>return settings<EOL><DEDENT>settings_from_ifaces = list(map(get_settings_from_interface, CONTROLPANEL_INTERFACE_MAPPING[keyword]))<EOL>settings_from_key = {k: v for d in settings_from_ifaces for k, v in list(d.items())}<EOL>settings.append({keyword: settings_from_key,<EOL>"<STR_LIT>": url_for("<STR_LIT>", key=keyword)})<EOL>return settings<EOL>
Get the settings associated to the specified keyword or, if
     keyword is None, get all the settings.

    :param keyword: settings to be retrieved
    :return: dictionary with the settings plus a key to identify from which
    keyword where retrieved.