def list_impl(self, request): """Retrieves the ingest status information and returns it in JSON form :param request: the HTTP GET request :type request: :class:`rest_framework.request.Request` :rtype: :class:`rest_framework.response.Response` :returns: the HTTP response to send back to the user """ started = rest_util.parse_timestamp(request, 'started', rest_util.get_relative_days(7)) ended = rest_util.parse_timestamp(request, 'ended', required=False) rest_util.check_time_range(started, ended, max_duration=datetime.timedelta(days=31)) use_ingest_time = rest_util.parse_bool(request, 'use_ingest_time', default_value=False) ingests = Ingest.objects.get_status(started, ended, use_ingest_time) page = self.paginate_queryset(ingests) serializer = self.get_serializer(page, many=True) return self.get_paginated_response(serializer.data)
def _list_v6(self, request): """Retrieves the job load for a given time range and returns it in JSON form :param request: the HTTP GET request :type request: :class:`rest_framework.request.Request` :rtype: :class:`rest_framework.response.Response` :returns: the HTTP response to send back to the user """ started = rest_util.parse_timestamp( request, 'started', default_value=rest_util.get_relative_days(7)) ended = rest_util.parse_timestamp(request, 'ended', required=False) rest_util.check_time_range(started, ended, max_duration=datetime.timedelta(days=31)) job_type_ids = rest_util.parse_int_list(request, 'job_type_id', required=False) job_type_names = rest_util.parse_string_list(request, 'job_type_name', required=False) job_loads = JobLoad.objects.get_job_loads(started, ended, job_type_ids, job_type_names) job_loads_grouped = JobLoad.objects.group_by_time(job_loads) page = self.paginate_queryset(job_loads_grouped) serializer = self.get_serializer(page, many=True) return self.get_paginated_response(serializer.data)
def get(self, request): '''Retrieves the ingest status information and returns it in JSON form :param request: the HTTP GET request :type request: :class:`rest_framework.request.Request` :rtype: :class:`rest_framework.response.Response` :returns: the HTTP response to send back to the user ''' started = rest_util.parse_timestamp(request, 'started', rest_util.get_relative_days(7)) ended = rest_util.parse_timestamp(request, 'ended', required=False) rest_util.check_time_range(started, ended, max_duration=datetime.timedelta(days=31)) use_ingest_time = rest_util.parse_bool(request, 'use_ingest_time', default_value=False) ingests = Ingest.objects.get_status(started, ended, use_ingest_time) page = rest_util.perform_paging(request, ingests) serializer = IngestStatusListSerializer(page, context={'request': request}) return Response(serializer.data, status=status.HTTP_200_OK)
def list(self, request): """Retrieves the ingest status information and returns it in JSON form :param request: the HTTP GET request :type request: :class:`rest_framework.request.Request` :rtype: :class:`rest_framework.response.Response` :returns: the HTTP response to send back to the user """ started = rest_util.parse_timestamp(request, 'started', rest_util.get_relative_days(7)) ended = rest_util.parse_timestamp(request, 'ended', required=False) rest_util.check_time_range(started, ended, max_duration=datetime.timedelta(days=31)) use_ingest_time = rest_util.parse_bool(request, 'use_ingest_time', default_value=False) ingests = Ingest.objects.get_status(started, ended, use_ingest_time) page = self.paginate_queryset(ingests) serializer = self.get_serializer(page, many=True) return self.get_paginated_response(serializer.data)
def get(self, request): """Retrieves the job load for a given time range and returns it in JSON form :param request: the HTTP GET request :type request: :class:`rest_framework.request.Request` :rtype: :class:`rest_framework.response.Response` :returns: the HTTP response to send back to the user """ started = rest_util.parse_timestamp(request, 'started', default_value=rest_util.get_relative_days(7)) ended = rest_util.parse_timestamp(request, 'ended', required=False) rest_util.check_time_range(started, ended, max_duration=datetime.timedelta(days=31)) job_type_ids = rest_util.parse_int_list(request, 'job_type_id', required=False) job_type_names = rest_util.parse_string_list(request, 'job_type_name', required=False) job_type_categories = rest_util.parse_string_list(request, 'job_type_category', required=False) job_type_priorities = rest_util.parse_string_list(request, 'job_type_priority', required=False) job_loads = JobLoad.objects.get_job_loads(started, ended, job_type_ids, job_type_names, job_type_categories, job_type_priorities) job_loads_grouped = JobLoad.objects.group_by_time(job_loads) page = rest_util.perform_paging(request, job_loads_grouped) serializer = JobLoadGroupListSerializer(page, context={'request': request}) return Response(serializer.data, status=status.HTTP_200_OK)