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 0000000..72fee61 Binary files /dev/null and b/static/img/dss-large.png differ 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