diff options
Diffstat (limited to 'frontend/views.py')
| -rw-r--r-- | frontend/views.py | 67 |
1 files changed, 66 insertions, 1 deletions
diff --git a/frontend/views.py b/frontend/views.py index 60f00ef..552f0d9 100644 --- a/frontend/views.py +++ b/frontend/views.py @@ -1 +1,66 @@ -# Create your views here. +import re + +from django.conf import settings +from django.http import HttpResponse +from django.shortcuts import render_to_response + +from backend.models import SJLike +from backend.models import SJRoom +from backend.models import SJContent +from backend.models import SJSearch +from backend.models import SJUserProfile + +from backend.views import is_number +from backend.views import is_image + +from django.db.models import Q + +LIMIT = 40 + +BLOCKED_DOMAINS = { + 'dvdbeaver.com': True, + '4chan.org': True, + 'yahoo.com': True, + 'adultswim.com': True, +} + + +def bg(request): + """ + """ + query = Q(content_type='background') + if request.GET.get('start', None): + if is_number(request.GET['start']): + query &= Q(id__lt=int(request.GET['start'])) + limit = LIMIT + if request.GET.get('limit', None): + if is_number(request.GET['limit']): + limit = int(request.GET['limit']) + backgrounds = SJContent.objects.filter(query).order_by('-id')[0:limit] + + filtered_backgrounds = [] + for b in backgrounds: + s = b.settings + url = s['url'] + if not url.startswith('http:'): + continue + domain = '' + try: + domain = '.'.join(url.split('/')[2].split('.')[-2:]) + except: + continue + if domain in BLOCKED_DOMAINS: + continue + b.domain = domain + filtered_backgrounds.append(b) + + return render_to_response( + 'backgrounds.html', + { + 'server_host': settings.SERVER_HOST, + 'server_port': settings.SERVER_PORT, + 'lowest_id': backgrounds[limit - 1].id, + 'backgrounds': filtered_backgrounds, + 'domain': domain, + } + ) |
