def track(request): labels = request.GET.get('labels', False) if not labels: return HttpResponse("syntax: ?labels=label1|label2") tracker = Tracker() tracker.incr_labels(labels) return HttpResponse("ok")
def track(request): labels = request.GET.get('labels', False) if not labels: return HttpResponse("syntax: ?labels=label1|label2") tracker = Tracker() tracker.incr_labels(str(labels)) return HttpResponse("ok")
def test_saving_and_retrieving_logs(self): # create and save associated tracker tracker = Tracker() tracker.save() # create and save 2 logs first_log = Log() first_log.text = 'The first (ever) log item' first_log.tracker = tracker first_log.save() second_log = Log() second_log.text = 'Log the second' second_log.tracker = tracker second_log.save() # check if saved logs and tracker are correct saved_tracker = Tracker.objects.first() self.assertEqual(saved_tracker, tracker) saved_logs = Log.objects.all() self.assertEqual(saved_logs.count(), 2) # check each log and see if they have the correct properties first_saved_log = saved_logs[0] second_saved_log = saved_logs[1] self.assertEqual(first_saved_log.text, 'The first (ever) log item') self.assertEqual(first_saved_log.tracker, tracker) self.assertEqual(second_saved_log.text, 'Log the second') self.assertEqual(second_saved_log.tracker, tracker)
def test_report(self): tracker = Tracker() tracker.incr_labels('label1:cat1:dom1') tracker.incr_labels('label1:cat1:dom1') self.assertEqual(Statistic.objects.count(), 0) make_daily_report() self.assertEqual(tracker.flush_label('label1'), 0) self.assertEqual(Statistic.objects.count(), 1) stat = Statistic.objects.all()[0] self.assertEqual(stat.counter, 2) self.assertEqual(stat.category, 'cat1') self.assertEqual(stat.dom_id, 'dom1') tracker.incr_labels('label1:cat1:dom1') tracker.incr_labels('label1:cat1:dom1') stat = Statistic.objects.all()[0] self.assertEqual(stat.counter, 2) make_daily_report() stat = Statistic.objects.all()[0] self.assertEqual(stat.counter, 4) tracker.reset_cache()
def partner(self, request): # today = datetime.now().date() # today_start = datetime.combine(today, time()) allUsers = User.objects.filter(is_staff=0, is_active=1).count() caregivers = CareGiver.objects.all().count() elders = Elder.objects.all().count() # todayTrackers = Tracker.objects.filter(created__gte = today_start).values_list('elder_id', flat = True) # notToday = Elder.objects.exclude(id = todayTrackers) notToday = Tracker.today_member_not_tracking() articles = Article.objects.all() return render( request, 'partner/index.html', { 'all': allUsers, 'caregivers': caregivers, 'elders': elders, 'notToday': notToday, 'articles': articles })
def test_montlyreport(self): tracker = Tracker() def add_static(labels, **kwargs): for label in parse_query(labels): s = Statistic(label=label.get('lbl'), category=label.get('cat'), dom_id=label.get('domid', ''), **kwargs) s.save() add_static("us_link1.com:links|es_link2.com:links|us_link2.com:links", counter=5) add_static("us_link1.com:links|es_link4.com:links|us_link3.com:links", counter=10) report = make_monthly_report_country() def ListEqual(list1, list2): if len(list1) != len(list2): return False for ele in list1: if ele not in list2: return False return True self.assertTrue( ListEqual(report['us'].keys(), ['link1.com', 'link2.com', 'link3.com'])) self.assertTrue( ListEqual(report['es'].keys(), ['link4.com', 'link2.com'])) self.assertEqual(report['us']['link1.com'], 15) self.assertEqual(report['es']['link2.com'], 5) self.assertEqual(report['us']['link3.com'], 10) self.assertEqual(report['fr'], dict())
def test_traker(self): tracker = Tracker() tracker.incr_labels('label1') self.assertEqual(tracker.labels, {'label1': {'lbl': 'label1'}}) tracker.incr_labels('label1') self.assertEqual(tracker.flush_label('label1'), 2) self.assertEqual(tracker.flush_label('label1'), 0) tracker.save() tracker = Tracker() self.assertEqual(tracker.labels, {'label1': {'lbl': 'label1'}}) tracker.reset_cache()