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
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