]> git.0d.be Git - panikweb-esperanzah.git/commitdiff
add a json view with what's on air
authorFrédéric Péters <fpeters@0d.be>
Wed, 21 Aug 2013 08:19:57 +0000 (10:19 +0200)
committerFrédéric Péters <fpeters@0d.be>
Wed, 21 Aug 2013 08:20:55 +0000 (10:20 +0200)
panikweb/urls.py
panikweb/views.py
requirements.txt

index 4b8e5ad128366a04cbebf38a2967caf7392f3dc6..b4eef84e6bc79694a19ec6527be92f894f088dbd 100644 (file)
@@ -9,6 +9,7 @@ admin.autodiscover()
 
 urlpatterns = patterns('',
     url(r'^$', 'panikweb.views.home', name='home'),
+    url(r'^onair.json$', 'panikweb.views.onair', name='onair'),
     url(r'^program$', 'panikweb.views.program', name='program'),
     url(r'^grid$', 'panikweb.views.grid', name='grid'),
     url(r'^emissions/', include('emissions.urls')),
index 3b1c71fade4e85059a6f2c2a9847a19d38c91668..4a7cff53395e01572ac59cf3150e5a1655f99443 100644 (file)
@@ -2,8 +2,12 @@ from datetime import datetime, timedelta
 import math
 
 from django.views.generic.base import TemplateView
+from django.views.decorators.csrf import csrf_exempt
+
+from jsonresponse import to_json
 
 from emissions.models import Emission, Episode, Diffusion, SoundFile, Schedule
+from emissions.utils import whatsonair
 
 class ProgramView(TemplateView):
     template_name = 'program.html'
@@ -211,3 +215,18 @@ class Player(TemplateView):
 player = Player.as_view()
 
 
+@csrf_exempt
+@to_json('api')
+def onair(request):
+    d = whatsonair()
+    if d.get('episode'):
+        d['episode'] = {
+            'title': d['episode'].title,
+            'url': d['episode'].get_absolute_url()
+        }
+    if d.get('emission'):
+        d['emission'] = {
+            'title': d['emission'].title,
+            'url': d['emission'].get_absolute_url()
+        }
+    return d
index 3ab4918d87f18ccddc9ff07b50b75259baa082f6..d8c3d14de73f56e5b8c2c606473410abd1f0b9f1 100644 (file)
@@ -6,3 +6,4 @@ django-debug-toolbar<1.0.0
 django-jquery
 django-taggit
 django-fiber
+http://pypi.python.org/packages/source/d/django-jsonresponse/django-jsonresponse-0.5.tar.gz