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