summaryrefslogtreecommitdiff
path: root/frontend/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/views.py')
-rw-r--r--frontend/views.py67
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,
+ }
+ )