def get_plugins_priority(): """ Get priority of default DogeChat plugins as a dictionary. """ plugins_priority = {} infolist = dogechat.infolist_get('plugin', '', '') while dogechat.infolist_next(infolist): name = dogechat.infolist_string(infolist, 'name') priority = dogechat.infolist_integer(infolist, 'priority') if priority in plugins_priority: plugins_priority[priority].append(name) else: plugins_priority[priority] = [name] dogechat.infolist_free(infolist) return plugins_priority
def get_url_options(): """ Get list of URL options as list of dictionaries. """ url_options = [] infolist = dogechat.infolist_get('url_options', '', '') while dogechat.infolist_next(infolist): url_options.append({ 'name': dogechat.infolist_string(infolist, 'name').lower(), 'option': dogechat.infolist_integer(infolist, 'option'), 'type': dogechat.infolist_string(infolist, 'type'), 'constants': dogechat.infolist_string( infolist, 'constants').lower().replace(',', ', ') }) dogechat.infolist_free(infolist) return url_options
def get_url_options(): """ Get list of URL options as list of dictionaries. """ url_options = [] infolist = dogechat.infolist_get('url_options', '', '') while dogechat.infolist_next(infolist): url_options.append({ 'name': dogechat.infolist_string(infolist, 'name').lower(), 'option': dogechat.infolist_integer(infolist, 'option'), 'type': dogechat.infolist_string(infolist, 'type'), 'constants': dogechat.infolist_string(infolist, 'constants').lower().replace(',', ', ') }) dogechat.infolist_free(infolist) return url_options
def get_options(): """ Get list of DogeChat/plugins config options as dictionary with 4 indexes: config, section, option, xxx. """ options = \ defaultdict(lambda: defaultdict(lambda: defaultdict(defaultdict))) infolist = dogechat.infolist_get('option', '', '') while dogechat.infolist_next(infolist): full_name = dogechat.infolist_string(infolist, 'full_name') if not re.search('|'.join(IGNORE_OPTIONS), full_name): config = dogechat.infolist_string(infolist, 'config_name') if config in PLUGIN_LIST and 'o' in PLUGIN_LIST[config]: section = dogechat.infolist_string(infolist, 'section_name') option = dogechat.infolist_string(infolist, 'option_name') for key in ('type', 'string_values', 'default_value', 'description'): options[config][section][option][key] = \ dogechat.infolist_string(infolist, key) for key in ('min', 'max', 'null_value_allowed'): options[config][section][option][key] = \ dogechat.infolist_integer(infolist, key) dogechat.infolist_free(infolist) return options