コード例 #1
0
ファイル: views.py プロジェクト: iostackproject/SDS-dashboard
 def _get_object(self, *args, **kwargs):
     filter_id = self.kwargs['filter_id']
     try:
         filter = api.fil_get_filter_metadata(self.request, filter_id)
         return filter
     except Exception:
         redirect = self.success_url
         msg = _('Unable to retrieve filter details.')
         exceptions.handle(self.request, msg, redirect=redirect)
コード例 #2
0
 def get_data(self, request, id):
     response = api.fil_get_filter_metadata(request, id)
     data = json.loads(response.text)
     filter = Filter(data['id'], data['filter_name'],
                     data['filter_type'], data['dependencies'],
                     data['interface_version'], data['object_metadata'],
                     data['main'],
                     data['has_reverse'], data['execution_server'],
                     data['execution_server_reverse'],
                     data['is_pre_put'], data['is_post_put'], data['is_pre_get'], data['is_post_get'],
                     data['execution_order'], data['enabled']
                     )
     return filter
コード例 #3
0
    def update_cell(self, request, datum, id, cell_name, new_cell_value):
        try:
            # updating changed value by new value
            response = api.fil_get_filter_metadata(request, id)
            data = json.loads(response.text)
            data[cell_name] = new_cell_value


            # TODO: Check only the valid keys, delete the rest
            if 'id' in data:  # PUT does not allow this key
                del data['id']
            if 'filter_name' in data:
                del data['filter_name']
            if 'etag' in data:  # PUT does not allow this key
                del data['etag']
            if 'content_length' in data:  # PUT does not allow this key
                del data['content_length']
            if 'path' in data:  # PUT does not allow this key
                del data['path']
            if 'filter_type' in data:  # PUT does not allow this key
                if data['filter_type'] == 'native' or data['filter_type'] == 'storlet':
                    if 'execution_order' in data:
                        del data['execution_order']
                    if 'enabled' in data:
                        del data['enabled']
                del data['filter_type']

            api.fil_update_filter_metadata(request, id, data)
        except Conflict:
            # Returning a nice error message about name conflict. The message
            # from exception is not that clear for the user
            message = _("Can't change value")
            raise ValidationError(message)
        except Exception:
            exceptions.handle(request, ignore=True)
            return False
        return True
コード例 #4
0
ファイル: tabs.py プロジェクト: iostackproject/SDS-dashboard
    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