diff options
| author | Maksim A. Boyko <maksim.a.boyko@gmail.com> | 2012-08-24 01:55:23 -0400 |
|---|---|---|
| committer | Maksim A. Boyko <maksim.a.boyko@gmail.com> | 2012-08-24 01:55:23 -0400 |
| commit | d1260eefbe041bea4e8328a6249e6945e5967552 (patch) | |
| tree | de7c1a50d657edc976f54e7193778ecf5b46093f | |
| parent | 72128ec57a147a35466e47008f90f8a7f7904e9b (diff) | |
Backend: Add api_room_list view
| -rw-r--r-- | backend/views.py | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/backend/views.py b/backend/views.py index 91972c9..b3a81a8 100644 --- a/backend/views.py +++ b/backend/views.py @@ -10,6 +10,7 @@ from django.shortcuts import render_to_response from django.views.decorators.http import require_POST from django.db.models import Q from datetime import datetime +from datetime import timedelta import sha import time @@ -98,11 +99,14 @@ def thraw(settings_text): def freeze(settings): return '\n'.join(['%s\t%s' % (str(key), str(value)) for key, value in settings.iteritems()]) +def datetime_to_timestamp(dt): + return int(time.mktime(dt.timetuple())) + def now_timestamp(): return int(time.mktime(time.localtime())) -def datetime_to_timestamp(dt): - return int(time.mktime(dt.timetuple())) +def yesterday_datetime(): + return datetime.now() - timedelta(days=1) # # AUTH API @@ -339,7 +343,7 @@ def api_user_settings(request): @require_POST def api_room_watch(request): - """ Public API + """ View room videos. Public API """ form_fields = ['room'] response = check_form_fields(request, form_fields) @@ -370,9 +374,20 @@ def api_room_watch(request): @require_POST def api_room_list(request): - """ Public API + """ View list of rooms. Public API """ - return HttpResponse('Not implemented yet!\n') + videos = SJContent.objects.filter(content_type='video', datetime__gt=yesterday_datetime()) + s = '' + for room in SJRoom.objects.filter(private=False): + s += '\t'.join([ + str(room.id), + room.name, + str(datetime_to_timestamp(room.datetime)), + str(videos.filter(room=room).count()), + room.settings.get('bg', ''), + ]) + s += '\n' + return response_success(s) @require_POST def api_room_view(request): |
