Example #1
0
    def get_native_filters_data(self):
        try:
            response = api.fil_list_filters(self.request)
            if 200 <= response.status_code < 300:
                strobj = response.text
            else:
                error_message = 'Unable to get filters.'
                raise sdsexception.SdsException(error_message)
        except Exception as e:
            strobj = "[]"
            exceptions.handle(self.request, _(e.message))

        instances = json.loads(strobj)
        ret = []
        for inst in instances:
            if inst['filter_type'] == 'native':
                ret.append(filters_models.Filter(inst['id'], inst['filter_name'], inst['filter_type'], inst['dependencies'],
                                                 inst['interface_version'], inst['object_metadata'], inst['main'], inst['has_reverse'],
                                                 inst['execution_server'], inst['execution_server_reverse'],
                                                 inst['is_pre_put'], inst['is_post_put'], inst['is_pre_get'], inst['is_post_get'], 0, False
                                                 ))
        return ret
Example #2
0
def get_filter_list(request):
    """
    Get a list of filters

    :param request: the request which the dashboard is using
    :return: list with filters
    """
    try:
        response = api.fil_list_filters(request)
        if 200 <= response.status_code < 300:
            response_text = response.text
        else:
            raise ValueError('Unable to get filters.')
    except Exception as exc:
        response_text = '[]'
        exceptions.handle(request, _(exc.message))

    filters_list = []
    filters = json.loads(response_text)
    # Iterate filters
    for filter_ in filters:
        filters_list.append((filter_['id'], filter_['filter_name']))
    return filters_list