def test_get_users_statistics_weeks(self): now = datetime.now() with freeze_time(datetime(year=now.year, month=now.month, day=1)): self.assertListEqual(get_users_statistics_weeks(), [('Previous week', 0), ('Current week', now.month), ('Yesterday', 0), ('Today', now.month)]) self.assertListEqual(get_users_statistics_weeks(self.app.id), [('Previous week', 0), ('Current week', now.month), ('Yesterday', 0), ('Today', now.month)])
def test_get_users_statistics_weeks(self): now = datetime.now() with freeze_time(datetime(year=now.year, month=now.month, day=10)): self.assertListEqual(get_users_statistics_weeks(), [('Previous week', 0), ('Current week', now.month), ('Yesterday', 0), ('Today', now.month)]) self.assertListEqual(get_users_statistics_weeks(self.app.id), [('Previous week', 0), ('Current week', now.month), ('Yesterday', 0), ('Today', now.month)])
def get_context_data(self, **kwargs): context = super(StatisticsDetailView, self).get_context_data(**kwargs) app = self.object form = self.get_form() form.is_valid() now = timezone.now() last_week = now - datetime.timedelta(days=7) start, end = get_month_range_from_dict(form.cleaned_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)] data = [] for diapason in diapasons: data += get_users_statistics_months(app_id=app.id, year=diapason[1], start=diapason[0][0], end=diapason[0][1]) qs = AppRequest.objects.filter(appid=app.id, request__created__range=[last_week, now]) context['range_start'] = start.strftime('%B %Y') context['range_end'] = end.strftime('%B %Y') context['install_count'] = qs.filter(events__eventtype=2).count() context['update_count'] = qs.filter(events__eventtype=3).count() context['months'] = make_discrete_bar_chart('months', data) context['weeks'] = make_discrete_bar_chart('weeks', get_users_statistics_weeks(app_id=app.id)) context['versions'] = make_piechart('versions', get_users_versions(app.id)) context['channels'] = make_piechart('channels', get_channel_statistics(app.id)) versions_data = [dict(version=x[0], number=x[1]) for x in get_users_versions(app.id)] context['versions_table'] = VersionsTable(versions_data) context['form'] = form return context
def get_context_data(self, **kwargs): context = super(StatisticsView, self).get_context_data(**kwargs) context['months'] = make_discrete_bar_chart('months', get_users_statistics_months()) context['weeks'] = make_discrete_bar_chart('weeks', get_users_statistics_weeks()) return context
def get_context_data(self, **kwargs): context = super(StatisticsView, self).get_context_data(**kwargs) context['months'] = make_discrete_bar_chart( 'months', get_users_statistics_months()) context['weeks'] = make_discrete_bar_chart( 'weeks', get_users_statistics_weeks()) return context
def get_context_data(self, **kwargs): context = super(StatisticsDetailView, self).get_context_data(**kwargs) app = self.object now = timezone.now() last_week = now - datetime.timedelta(days=7) qs = AppRequest.objects.filter(appid=app.id, request__created__range=[last_week, now]) context['install_count'] = qs.filter(events__eventtype=2).count() context['update_count'] = qs.filter(events__eventtype=3).count() context['months'] = make_discrete_bar_chart('months', get_users_statistics_months(app_id=app.id)) context['weeks'] = make_discrete_bar_chart('weeks', get_users_statistics_weeks(app_id=app.id)) context['versions'] = make_piechart('versions', get_users_versions(app.id)) context['channels'] = make_piechart('channels', get_channel_statistics(app.id)) return context
def get_context_data(self, **kwargs): context = super(StatisticsView, self).get_context_data(**kwargs) form = self.get_form() form.is_valid() start, end = get_month_range_from_dict(form.cleaned_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)] data = [] for diapason in diapasons: data += get_users_statistics_months(year=diapason[1], start=diapason[0][0], end=diapason[0][1]) context['range_start'] = start.strftime('%B %Y') context['range_end'] = end.strftime('%B %Y') context['months'] = make_discrete_bar_chart('months', data) context['weeks'] = make_discrete_bar_chart('weeks', get_users_statistics_weeks()) context['form'] = form return context
def get_context_data(self, **kwargs): context = super(StatisticsDetailView, self).get_context_data(**kwargs) app = self.object now = timezone.now() last_week = now - datetime.timedelta(days=7) qs = AppRequest.objects.filter( appid=app.id, request__created__range=[last_week, now]) context['install_count'] = qs.filter(events__eventtype=2).count() context['update_count'] = qs.filter(events__eventtype=3).count() context['months'] = make_discrete_bar_chart( 'months', get_users_statistics_months(app_id=app.id)) context['weeks'] = make_discrete_bar_chart( 'weeks', get_users_statistics_weeks(app_id=app.id)) context['versions'] = make_piechart('versions', get_users_versions(app.id)) context['channels'] = make_piechart('channels', get_channel_statistics(app.id)) return context