From 7933ec1740d810156d4965e1a2dd71995c1f7192 Mon Sep 17 00:00:00 2001 From: "fergal.moran" Date: Tue, 18 Sep 2012 12:56:31 +0100 Subject: [PATCH] Started facebook linkback handlers --- spa/social.py | 21 ++++++++++++++++++--- spa/views.py | 10 +++++++--- static/img/dss-large.png | Bin 0 -> 21767 bytes templates/inc/facebook/index.html | 15 +++++++++++++++ 4 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 static/img/dss-large.png create mode 100644 templates/inc/facebook/index.html diff --git a/spa/social.py b/spa/social.py index 78402e3..d309758 100644 --- a/spa/social.py +++ b/spa/social.py @@ -1,7 +1,8 @@ from django.conf.urls import url from django.contrib.sites.models import Site +from django.core.urlresolvers import resolve from django.http import Http404 -from django.shortcuts import render_to_response +from django.shortcuts import render_to_response, redirect from django.template.context import RequestContext from dss import settings from spa.models.Mix import Mix @@ -17,8 +18,8 @@ class SocialHandler(object): def urls(self): pattern_list = [ url(r'^redirect/mix/(?P\d+)/$', 'spa.social.redirect_mix', name='social_redirect'), - #url(r'^redirect/mix/(?P\d+)/$', 'spa.social.redirect_mix', name='social_redirect-mix'), - ] + url(r'^$', 'spa.social.index', name='social_index'), + ] return pattern_list @@ -43,3 +44,17 @@ def redirect_mix(request, mix_id): context_instance = RequestContext(request) ) return response + +def index(request): + response = render_to_response( + "inc/facebook/index.html", + context_instance=RequestContext(request)) + return response + +def social_redirect(request): + try: + resolver = resolve('/social' + request.path) + if resolver is not None: + return resolver.func(request) + except Http404: + return index(request) diff --git a/spa/views.py b/spa/views.py index 5c2a6cf..8535ac6 100644 --- a/spa/views.py +++ b/spa/views.py @@ -1,10 +1,14 @@ from django.shortcuts import render_to_response from django.template.context import RequestContext +from spa.social import social_redirect def app(request): - return render_to_response( - "inc/app.html", - context_instance=RequestContext(request)) + if request.META['HTTP_USER_AGENT'].startswith('facebookexternalhit'): + return social_redirect(request) + else: + return render_to_response( + "inc/app.html", + context_instance=RequestContext(request)) def upload(request): return render_to_response("inc/upload.html", context_instance=RequestContext(request)) diff --git a/static/img/dss-large.png b/static/img/dss-large.png new file mode 100644 index 0000000000000000000000000000000000000000..72fee61974d10b567202c8ba8bcad0714c448c2a GIT binary patch literal 21767 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%0DKUoocoFT^^O_w|Z&%__UaOd(XI~>(KfZ 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 EU(CIL5dZ)H literal 0 HcmV?d00001 diff --git a/templates/inc/facebook/index.html b/templates/inc/facebook/index.html new file mode 100644 index 0000000..456965f --- /dev/null +++ b/templates/inc/facebook/index.html @@ -0,0 +1,15 @@ + + + Deep South Sounds + + + + + + + + + \ No newline at end of file