From 9f73a33b0d989a60083f032bc4c3479e1cf8e21e Mon Sep 17 00:00:00 2001 From: "Maksim A. Boyko" Date: Sun, 28 Oct 2012 17:24:34 -0400 Subject: frontend: Add bg view (rewrote cgi-bin/bg.cgi) --- frontend/templates/backgrounds.html | 269 ++++++++++++++++++++++++++++++++++++ frontend/urls.py | 7 + frontend/views.py | 67 ++++++++- scannerjammer/settings.py | 3 + scannerjammer/urls.py | 4 + 5 files changed, 349 insertions(+), 1 deletion(-) create mode 100644 frontend/templates/backgrounds.html create mode 100644 frontend/urls.py diff --git a/frontend/templates/backgrounds.html b/frontend/templates/backgrounds.html new file mode 100644 index 0000000..ef7ff2e --- /dev/null +++ b/frontend/templates/backgrounds.html @@ -0,0 +1,269 @@ + + +SCANNERJAMMER BACKGROUNDS + + + + + + + + + + + +
+ keys +
ESC toggle
C clear
R reverse
BACKSPACE delete
+
+ + +{% for b in backgrounds %} +
+ + + {{ b.user.username }} + {{ b.domain }}
+ {{ b.room.name }} + {{ b.datetime|date:"d-M @ H:i" }} +
+
+{% endfor %} +Next page ... + + + + + + + + + + + + diff --git a/frontend/urls.py b/frontend/urls.py new file mode 100644 index 0000000..7a438c9 --- /dev/null +++ b/frontend/urls.py @@ -0,0 +1,7 @@ +from django.conf.urls import patterns, include, url + + +urlpatterns = patterns('frontend.views', + # API + url(r'^backgrounds/$', 'backgrounds'), +) 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, + } + ) diff --git a/scannerjammer/settings.py b/scannerjammer/settings.py index 6313f64..7052c2b 100644 --- a/scannerjammer/settings.py +++ b/scannerjammer/settings.py @@ -162,3 +162,6 @@ AUTH_PROFILE_MODULE = 'backend.SJUserProfile' from datetime import datetime START_TIME = datetime.now() + +SERVER_HOST = 'http://localhost' +SERVER_PORT = 8000 diff --git a/scannerjammer/urls.py b/scannerjammer/urls.py index 16fe4ac..faab874 100644 --- a/scannerjammer/urls.py +++ b/scannerjammer/urls.py @@ -17,5 +17,9 @@ urlpatterns = patterns('', # Backend url(r'^api/', include('backend.urls')), + + # Frontend + url(r'^backgrounds/', 'frontend.views.bg', name='bg'), + #url(r'.*', 'backend.views.redirect'), ) -- cgit v1.2.3-70-g09d2