Commit c18c7f639bbb52ff086ea8d8547d9729cb20a160

Authored by Felipe Bormann
1 parent e9e67da2

added analytics method to handle amount of comments inside the whole system or c…

…ategory specific case
Showing 2 changed files with 22 additions and 3 deletions   Show diff stats
analytics/urls.py
... ... @@ -13,4 +13,5 @@ urlpatterns = [
13 13 url(r'^amount_active_users_per_day/$', views.most_active_users_in_a_month, name="most_active_users_in_a_month"),
14 14 url(r'^get_days_of_the_week_log/$', views.get_days_of_the_week_log, name="get_days_of_the_week_log"),
15 15 url(r'^get_category_tags/$', views.category_tags, name='get_category_tags'),
  16 + url(r'^get_comments_count/$', views.get_amount_of_comments, name='get_amount_of_comments'),
16 17 ]
17 18 \ No newline at end of file
... ...
analytics/views.py
... ... @@ -18,7 +18,7 @@ import calendar
18 18 from collections import OrderedDict
19 19  
20 20  
21   -
  21 +from mural.models import Comment
22 22  
23 23  
24 24 def most_used_tags(request):
... ... @@ -192,7 +192,7 @@ def get_days_of_the_week_log(request):
192 192  
193 193 params = request.GET
194 194 date = params['date']
195   - date = datetime.strptime( date, '%m/%d/%Y',)
  195 + date = datetime.strptime( date, '%m/%d/%Y')
196 196 days = get_days_of_the_week(date)
197 197 data = activity_in_timestamp(days, params = params)
198 198 #mapping of number to days
... ... @@ -239,4 +239,22 @@ def most_tags_inside_category(category_id):
239 239 else:
240 240 data[tag.name] = {'name': tag.name}
241 241 data[tag.name]['count'] = resources_count
242   - return data
243 242 \ No newline at end of file
  243 + return data
  244 +
  245 +
  246 +def get_amount_of_comments(request):
  247 + params = request.GET
  248 + init_date = params.get('init_date')
  249 + end_date = params.get('end_date')
  250 + init_date = datetime.strptime( init_date, '%m/%d/%Y')
  251 + end_date = datetime.strptime(end_time, '%m/%d/%Y')
  252 + day_count = (end_date - init_date).days + 1
  253 + data = {}
  254 + for i in range(day_count):
  255 + single_day = init_date + timedelta(i)
  256 + if params.get('category_id'):
  257 + category_id = int(params['category_id'])
  258 + data[single_day] = Mural.objects.filter(space__id = category_id, create_date = single_day).count()
  259 + else:
  260 + data[single_day] = Comment.objects.filter(create_date = single_day).count()
  261 + return JsonResponse(data, safe=False)
244 262 \ No newline at end of file
... ...