예제 #1
0
def api_save_settings(settings_obj):
    print('WebUI wants to change settings:', settings_obj)
    # noinspection PyBroadException
    try:
        for k, v in settings_obj.items():
            settings.put(k, v, save_after=False)
        settings.save()
    except Exception:
        import traceback
        traceback.print_exc()
        return False
    return True
예제 #2
0
def api_save_sources(new_obj):
    print('Saving new source list:')
    output_settings = []
    for so in new_obj:
        print('\tType:', so['type'], 'Alias:', so['alias'])
        for s in sources.load_sources():
            if s.type == so['type']:
                s.set_alias(so['alias'])
                for k, v in so['data'].items():
                    s.insert_data(k, v)
                for f in so['filters']:
                    for fi in filters.get_filters():
                        if f['field'] == fi.field:
                            fi.set_operator(f['operator'])
                            fi.set_limit(f['limit'])
                            s.add_filter(fi)
                            break
                output_settings.append(s)
    for s in settings.get_sources():
        settings.remove_source(s, save_after=False)
    for s in output_settings:
        settings.add_source(s, prevent_duplicate=False, save_after=False)
    return settings.save()