in django_airavata/apps/api/views.py [0:0]
def get(self, request, format=None):
if 'fromTime' in request.GET:
from_time = view_utils.convert_utc_iso8601_to_date(
request.GET['fromTime']).timestamp() * 1000
else:
from_time = (datetime.utcnow() -
timedelta(days=7)).timestamp() * 1000
from_time = int(from_time)
if 'toTime' in request.GET:
to_time = view_utils.convert_utc_iso8601_to_date(
request.GET['toTime']).timestamp() * 1000
else:
to_time = datetime.utcnow().timestamp() * 1000
to_time = int(to_time)
username = request.GET.get('userName', None)
application_name = request.GET.get('applicationName', None)
resource_hostname = request.GET.get('resourceHostName', None)
limit = int(request.GET.get('limit', '50'))
offset = int(request.GET.get('offset', '0'))
statistics = request.airavata_client.getExperimentStatistics(
request.authz_token, settings.GATEWAY_ID, from_time, to_time,
username, application_name, resource_hostname, limit, offset)
serializer = self.serializer_class(statistics, context={'request': request})
paginator = pagination.LimitOffsetPagination()
paginator.count = statistics.allExperimentCount
paginator.limit = limit
paginator.offset = offset
paginator.request = request
response = paginator.get_paginated_response(serializer.data)
# Also add limit and offset to the response
response.data['limit'] = limit
response.data['offset'] = offset
return response