summaryrefslogtreecommitdiff
path: root/backend/views.py
diff options
context:
space:
mode:
authorMaksim A. Boyko <maksim.a.boyko@gmail.com>2012-08-24 01:55:23 -0400
committerMaksim A. Boyko <maksim.a.boyko@gmail.com>2012-08-24 01:55:23 -0400
commitd1260eefbe041bea4e8328a6249e6945e5967552 (patch)
treede7c1a50d657edc976f54e7193778ecf5b46093f /backend/views.py
parent72128ec57a147a35466e47008f90f8a7f7904e9b (diff)
Backend: Add api_room_list view
Diffstat (limited to 'backend/views.py')
-rw-r--r--backend/views.py25
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):