]> git.0d.be Git - panikweb-esperanzah.git/blobdiff - panikweb/views.py
add a json view with what's on air
[panikweb-esperanzah.git] / panikweb / views.py
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