diff options
Diffstat (limited to 'backend/views.py')
| -rw-r--r-- | backend/views.py | 126 |
1 files changed, 61 insertions, 65 deletions
diff --git a/backend/views.py b/backend/views.py index fa1f761..132649b 100644 --- a/backend/views.py +++ b/backend/views.py @@ -1,21 +1,22 @@ # Create your views here. +from django.conf import settings from django.contrib import auth -from django.views.decorators.http import require_POST from django.http import HttpResponse from django.http import HttpResponsePermanentRedirect from django.template import loader from django.template import Context from django.shortcuts import render_to_response -from django.conf import settings +from django.views.decorators.http import require_POST from django.db.models import Q from datetime import datetime import sha -from backend.models import SJUserProfile -from backend.models import SJVideo from backend.models import SJLike +from backend.models import SJRoom +from backend.models import SJContent +from backend.models import SJUserProfile API_HEADER = '#@scanjam 0.3b\n' @@ -34,22 +35,15 @@ def set_cors_headers(response): response['Access-Control-Max-Age'] = '3628800' response['Content-type'] = 'text/plain; charset=UTF-8' -def api_error(error, response=None): - """ Add API error name to response - """ - if not response: - response = HttpResponse() - response.write(API_HEADER) - response.write('0\t%s\n' % error) - return response - def api_error_headers(error, response=None): """ Add API error name with setup headers to response """ if not response: response = HttpResponse() set_cors_headers(response) - return api_error(error, response) + response.write(API_HEADER) + response.write('0\t%s\n' % error) + return response def api_ok_headers(response=None): """ Add API OK with setup headers to response @@ -231,62 +225,64 @@ def api_auth_password(request): def api_user_videos(request): """ Get list of user videos. Public API """ - form_fields = ['user'] - response = check_form_fields(request, form_fields) - if response: - return response - try: - query = Q(user=auth.models.User.objects.get(id=request.POST['user'])) - except auth.models.User.DoesNotExist: - return api_error_headers('no such user') - except: - return api_error_headers('db error') - if 'start' in request.POST: - try: - timestamp = float(request.POST['start']) - query = query & Q(date__lte=datetime.fromtimestamp(timestamp)) - except: - pass - videos = SJVideo.objects.filter(query).order_by('-date')[0:ROOM_VIDEO_LOG_SIZE] - if not videos: - return api_error_headers('no videos') - response = api_ok_headers() - response.write('\n'.join(['\t'.join([str(v.id), - str(v.date), - str(v.user.id), - v.user.username, - v.url, - v.title]) for v in videos])) - return response +# form_fields = ['user'] +# response = check_form_fields(request, form_fields) +# if response: +# return response +# try: +# query = Q(user=auth.models.User.objects.get(id=request.POST['user'])) +# except auth.models.User.DoesNotExist: +# return api_error_headers('no such user') +# except: +# return api_error_headers('db error') +# if 'start' in request.POST: +# try: +# timestamp = float(request.POST['start']) +# query = query & Q(date__lte=datetime.fromtimestamp(timestamp)) +# except: +# pass +# videos = SJVideo.objects.filter(query).order_by('-date')[0:ROOM_VIDEO_LOG_SIZE] +# if not videos: +# return api_error_headers('no videos') +# response = api_ok_headers() +# response.write('\n'.join(['\t'.join([str(v.id), +# str(v.date), +# str(v.user.id), +# v.user.username, +# v.url, +# v.title]) for v in videos])) +# return response + return HttpResponse('Not implemented yet!\n') @require_POST def api_user_likes(request): """ Get list of liked videos. Public API """ - form_fields = ['user'] - response = check_form_fields(request, form_fields) - if response: - return response - try: - query = Q(sjlike__user=auth.models.User.objects.get(id=request.POST['user'])) - except auth.models.User.DoesNotExist: - return api_error_headers('no such user') - except: - return api_error_headers('db error') - if 'start' in request.POST: - try: - timestamp = float(request.POST['start']) - query = query & Q(date__lte=datetime.fromtimestamp(timestamp)) - except: - pass - videos = SJVideo.objects.filter(query).order_by('-date')[0:ROOM_VIDEO_LOG_SIZE] - if not videos: - return api_error_headers('no videos') - response = api_ok_headers() - response.write('\n'.join(['\t'.join([str(v.user.id), - str(v.id), - str(v.date)]) for v in videos])) - return response +# form_fields = ['user'] +# response = check_form_fields(request, form_fields) +# if response: +# return response +# try: +# query = Q(sjlike__user=auth.models.User.objects.get(id=request.POST['user'])) +# except auth.models.User.DoesNotExist: +# return api_error_headers('no such user') +# except: +# return api_error_headers('db error') +# if 'start' in request.POST: +# try: +# timestamp = float(request.POST['start']) +# query = query & Q(date__lte=datetime.fromtimestamp(timestamp)) +# except: +# pass +# videos = SJVideo.objects.filter(query).order_by('-date')[0:ROOM_VIDEO_LOG_SIZE] +# if not videos: +# return api_error_headers('no videos') +# response = api_ok_headers() +# response.write('\n'.join(['\t'.join([str(v.user.id), +# str(v.id), +# str(v.date)]) for v in videos])) +# return response + return HttpResponse('Not implemented yet!\n') @require_POST def api_user_top(request): |
