def get(self, request, app_name, format=None): import logging logging.info('Starting working in view') app = self.get_object(app_name) now = timezone.now() data = LiveStatisticsInputSerializer(data=request.GET) data.is_valid() end = data.validated_data.get('end', now) start = data.validated_data.get('start', end - datetime.timedelta(hours=24)) channel = data.validated_data.get('channel') data = get_users_live_versions(app.id, start, end, channel, tz=request.session.get('django_timezone', 'UTC')) logging.info('Getting data is finished') serializer = StatisticsMonthsSerializer(dict(data=dict(data))) return Response(serializer.data)
def get(self, request, app_name, format=None): app = self.get_object(app_name) now = timezone.now() dates = LiveStatisticsRangeSerializer(data=request.GET) dates.is_valid() end = dates.validated_data.get('end', now) start = dates.validated_data.get('start', end - datetime.timedelta(hours=24)) data = get_users_live_versions(app.id, start, end, tz=request.session.get( 'django_timezone', 'UTC')) serializer = StatisticsMonthsSerializer(dict(data=dict(data))) return Response(serializer.data)
def get(self, request, app_name, format=None): app = self.get_object(app_name) dates = MonthRangeSerializer(data=request.GET) dates.is_valid() start, end = get_month_range_from_dict(dates.validated_data) diapasons = [((start.month if year == start.year else 1, end.month if year == end.year else 12), year) for year in range(start.year, end.year+1)] win_data = dict(new=[], updates=[], uninstalls=[]) mac_data = dict(new=[], updates=[]) for diapason in diapasons: step = get_users_statistics_months(app_id=app.id, platform='win', year=diapason[1], start=diapason[0][0], end=diapason[0][1]) win_data['new'] += step['new'] win_data['updates'] += step['updates'] win_data['uninstalls'] += step['uninstalls'] step = get_users_statistics_months(app_id=app.id, platform='mac', year=diapason[1], start=diapason[0][0], end=diapason[0][1]) mac_data['new'] += step['new'] mac_data['updates'] += step['updates'] serializer = StatisticsMonthsSerializer(dict(data=dict(win=win_data, mac=mac_data))) return Response(serializer.data)
def get(self, request, app_name, format=None): app = self.get_object(app_name) data = get_channel_statistics(app.id) serializer = StatisticsMonthsSerializer(dict(data=dict(data))) return Response(serializer.data)
def get(self, request, format=None): data = get_users_statistics_months() serializer = StatisticsMonthsSerializer(dict(data=dict(data))) return Response(serializer.data)