示例#1
0
def get_dsl_filter_list(request):
    """
    Get a list of dsl filters

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

    dsl_filters_list = []
    dsl_filters = json.loads(response_text)
    # Iterate dsl filters
    for dsl_filter in dsl_filters:
        dsl_filters_list.append((dsl_filter['identifier'], dsl_filter['name']))
    return dsl_filters_list
示例#2
0
    def get_dsl_filters_data(self):
        try:
            response = api.dsl_get_all_filters(self.request)
            if 200 <= response.status_code < 300:
                strobj = response.text
            else:
                error_message = 'Unable to get filters.'
                raise ValueError(error_message)
        except Exception as e:
            strobj = "[]"
            exceptions.handle(self.request, _(e.message))

        instances = json.loads(strobj)
        ret = []
        for inst in instances:
            response = api.fil_get_filter_metadata(self.request, inst['identifier'])
            if 200 <= response.status_code < 300:
                strobj = response.text
            else:
                error_message = 'Unable to get filters.'
                raise ValueError(error_message)
            _filter = json.loads(strobj)
            ret.append(registry_models.Filter(inst['identifier'], inst['name'], inst['activation_url'], inst['valid_parameters'], _filter['filter_name']))
        return ret