mirror of
https://github.com/fergalmoran/dss.git
synced 2026-05-03 01:51:27 +00:00
Changed facebook scraper to handle slug url
This commit is contained in:
33
dss/urls.py
33
dss/urls.py
@@ -11,19 +11,19 @@ admin.autodiscover()
|
||||
# admin.autodiscover()
|
||||
|
||||
urlpatterns = patterns('',
|
||||
url(r'^admin/', include(admin.site.urls)),
|
||||
#(r'^favicon\.ico$', 'django.views.generic.simple.redirect_to', {'url': '/static/img/favicon.ico'}),
|
||||
(r'^channel\.html$', TemplateView.as_view(template_name='boiler/fb_channel.html')),
|
||||
(r'^privacy\.html$', TemplateView.as_view(template_name='boiler/privacy.html')),
|
||||
(r'^robots\.txt', TemplateView.as_view(template_name='boiler/robots.txt')),
|
||||
(r'^tos\.html$', TemplateView.as_view(template_name='boiler/tos.html')),
|
||||
(r'^test\.html$', TemplateView.as_view(template_name='boiler/test.html')),
|
||||
(r'^500', 'django.views.defaults.server_error'),
|
||||
(r'^grappelli/', include('grappelli.urls')),
|
||||
url(r'^accounts/', include('allauth.urls')),
|
||||
(r'^avatar/', include('avatar.urls')),
|
||||
(r'^tinymce/', include('tinymce.urls')),
|
||||
url(r'^', include('spa.urls')),
|
||||
url(r'^admin/', include(admin.site.urls)),
|
||||
#(r'^favicon\.ico$', 'django.views.generic.simple.redirect_to', {'url': '/static/img/favicon.ico'}),
|
||||
(r'^channel\.html$', TemplateView.as_view(template_name='boiler/fb_channel.html')),
|
||||
(r'^privacy\.html$', TemplateView.as_view(template_name='boiler/privacy.html')),
|
||||
(r'^robots\.txt', TemplateView.as_view(template_name='boiler/robots.txt')),
|
||||
(r'^tos\.html$', TemplateView.as_view(template_name='boiler/tos.html')),
|
||||
(r'^test\.html$', TemplateView.as_view(template_name='boiler/test.html')),
|
||||
(r'^500', 'django.views.defaults.server_error'),
|
||||
(r'^grappelli/', include('grappelli.urls')),
|
||||
url(r'^accounts/', include('allauth.urls')),
|
||||
(r'^avatar/', include('avatar.urls')),
|
||||
(r'^tinymce/', include('tinymce.urls')),
|
||||
url(r'^', include('spa.urls')),
|
||||
)
|
||||
|
||||
if settings.DEBUG:
|
||||
@@ -32,8 +32,9 @@ if settings.DEBUG:
|
||||
_media_url = settings.MEDIA_URL
|
||||
if _media_url.startswith('/'):
|
||||
_media_url = _media_url[1:]
|
||||
urlpatterns += patterns('',
|
||||
urlpatterns += patterns(
|
||||
'',
|
||||
(r'^%s(?P<path>.*)$' % _media_url,
|
||||
serve,
|
||||
{'document_root': settings.MEDIA_ROOT}))
|
||||
del(_media_url, serve)
|
||||
{'document_root': settings.MEDIA_ROOT}))
|
||||
del (_media_url, serve)
|
||||
|
||||
10
spa/audio.py
10
spa/audio.py
@@ -1,14 +1,18 @@
|
||||
import os
|
||||
import logging
|
||||
|
||||
from django.conf.urls import url
|
||||
from django.http import Http404
|
||||
import os
|
||||
from sendfile import sendfile
|
||||
|
||||
from dss import settings
|
||||
from spa.models.Mix import Mix
|
||||
from utils import here
|
||||
import logging
|
||||
|
||||
|
||||
logger = logging.getLogger('spa')
|
||||
|
||||
|
||||
class AudioHandler(object):
|
||||
@property
|
||||
def urls(self):
|
||||
@@ -19,6 +23,7 @@ class AudioHandler(object):
|
||||
|
||||
return pattern_list
|
||||
|
||||
|
||||
def download(request, mix_id):
|
||||
try:
|
||||
mix = Mix.objects.get(pk=mix_id)
|
||||
@@ -34,6 +39,7 @@ def download(request, mix_id):
|
||||
|
||||
raise Http404("Mix not found")
|
||||
|
||||
|
||||
def start_streaming(request, mix_id):
|
||||
logger.debug('Start streaming called: %s' % mix_id)
|
||||
try:
|
||||
|
||||
12
spa/social/urls.py
Normal file
12
spa/social/urls.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from django.conf.urls import patterns, url
|
||||
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
url(r'^redirect/mix/(?P<mix_id>\d+)/$', 'spa.social.views.mix', name='social_redirect_mix'),
|
||||
url(r'^redirect/mix/(?P<slug>[\w\d_.-]+)/$', 'spa.social.views.mix', name='social_redirect_mix_slug'),
|
||||
url(r'^mix/(?P<mix_id>\d+)/$', 'spa.social.views.mix', name='social_mix'),
|
||||
url(r'^mix/(?P<slug>[\w\d_.-]+)/$', 'spa.social.views.mix', name='social_mix_slug'),
|
||||
url(r'^user/(?P<user_id>\w+)/$', 'spa.social.views.user', name='social_user'),
|
||||
url(r'^like/(?P<mix_id>\d+)/$', 'spa.social.views.post_like', name='social_like'),
|
||||
url(r'^$', 'spa.social.views.index', name='social_index')
|
||||
)
|
||||
@@ -1,52 +1,25 @@
|
||||
import urllib2
|
||||
import logging
|
||||
|
||||
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.http import Http404
|
||||
from django.shortcuts import render_to_response
|
||||
from django.template.context import RequestContext
|
||||
import requests
|
||||
from dss import settings
|
||||
from allauth.socialaccount.models import SocialToken
|
||||
|
||||
from dss import settings
|
||||
from spa.models.Mix import Mix
|
||||
from spa.models.UserProfile import UserProfile
|
||||
from allauth.socialaccount.models import SocialToken
|
||||
import logging
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
"""
|
||||
Handles callbacks from facebook and twitter
|
||||
"""
|
||||
class SocialHandler(object):
|
||||
|
||||
def __init__(self, api_name="v1"):
|
||||
self.api_name = api_name
|
||||
|
||||
@property
|
||||
def urls(self):
|
||||
pattern_list = [
|
||||
url(
|
||||
r'^redirect/mix/(?P<mix_id>\d+)/$',
|
||||
'spa.social.mix',
|
||||
name='social_redirect'),
|
||||
url(
|
||||
r'^mix/(?P<mix_id>\d+)/$',
|
||||
'spa.social.mix',
|
||||
name='social_mix'),
|
||||
url(
|
||||
r'^user/(?P<user_id>\w+)/$',
|
||||
'spa.social.user',
|
||||
name='social_user'),
|
||||
url(
|
||||
r'^like/(?P<mix_id>\d+)/$',
|
||||
'spa.social.post_like',
|
||||
name='social_like'),
|
||||
url(
|
||||
r'^$',
|
||||
'spa.social.index',
|
||||
name='social_index'),
|
||||
]
|
||||
return pattern_list
|
||||
|
||||
|
||||
def _getPayload(request):
|
||||
return {
|
||||
@@ -58,7 +31,10 @@ def _getPayload(request):
|
||||
|
||||
def mix(request, args):
|
||||
try:
|
||||
mix = Mix.objects.get(pk=args['mix_id'])
|
||||
if 'mix_id' in args:
|
||||
mix = Mix.objects.get(pk=args['mix_id'])
|
||||
else:
|
||||
mix = Mix.objects.get(slug=args['slug'])
|
||||
except Mix.DoesNotExist:
|
||||
raise Http404
|
||||
|
||||
@@ -80,6 +56,7 @@ def mix(request, args):
|
||||
)
|
||||
return response
|
||||
|
||||
|
||||
def user(request, args):
|
||||
try:
|
||||
user = UserProfile.objects.get(slug=args['user_id'])
|
||||
@@ -103,7 +80,6 @@ def user(request, args):
|
||||
return response
|
||||
|
||||
|
||||
|
||||
def index(request):
|
||||
response = render_to_response(
|
||||
"inc/facebook/index.html",
|
||||
@@ -116,7 +92,7 @@ def social_redirect(request):
|
||||
try:
|
||||
resolver = resolve('/social' + request.path)
|
||||
if resolver is not None:
|
||||
logger.debug("Resolver succesfully resolved")
|
||||
logger.debug("Resolver successfully resolved")
|
||||
return resolver.func(request, resolver.kwargs)
|
||||
else:
|
||||
logger.debug("No resolver found for: $%s" % request.path)
|
||||
@@ -127,6 +103,7 @@ def social_redirect(request):
|
||||
logger.debug("Unhandled exception in social_redirect: $%s" % ex)
|
||||
return index(request)
|
||||
|
||||
|
||||
def post_like(request, mix):
|
||||
try:
|
||||
tokens = SocialToken.objects.filter(
|
||||
@@ -10,7 +10,6 @@ from spa.api.v1.ReleaseAudioResource import ReleaseAudioResource
|
||||
from spa.api.v1.ReleaseResource import ReleaseResource
|
||||
from spa.api.v1.UserResource import UserResource
|
||||
from spa.api.v1.ActivityResource import ActivityResource
|
||||
from spa.social import SocialHandler
|
||||
|
||||
v1_api = Api(api_name='v1')
|
||||
v1_api.register(CommentResource())
|
||||
@@ -23,9 +22,8 @@ v1_api.register(ActivityResource())
|
||||
|
||||
ajax = AjaxHandler()
|
||||
audio = AudioHandler()
|
||||
social = SocialHandler()
|
||||
|
||||
urlpatterns = django.conf.urls.patterns(
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
url(r'^$', 'spa.views.app', name='home'),
|
||||
url(r'^tpl/(?P<template_name>\w+)/$', 'spa.templates.get_template'),
|
||||
@@ -34,7 +32,7 @@ urlpatterns = django.conf.urls.patterns(
|
||||
url(r'^podcast\.xml', 'spa.podcast.get_default_podcast'),
|
||||
url(r'^podcast', 'spa.podcast.get_default_podcast'),
|
||||
url(r'^podcasts', 'spa.podcast.get_default_podcast'),
|
||||
url(r'^social/', include(social.urls)),
|
||||
url(r'^social/', include('spa.social.urls')),
|
||||
url(r'^ajax/', include(ajax.urls)),
|
||||
url(r'^audio/', include(audio.urls)),
|
||||
url(r'^api/', include(v1_api.urls)),
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
import logging
|
||||
|
||||
from django.shortcuts import render_to_response, redirect
|
||||
from django.template.context import RequestContext
|
||||
|
||||
from core.utils.string import lreplace, rreplace
|
||||
from spa.social import social_redirect
|
||||
from spa.social.views import social_redirect
|
||||
|
||||
|
||||
logger = logging.getLogger('spa')
|
||||
|
||||
Reference in New Issue
Block a user