Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
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
Example #5
0
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
Example #6
0
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