]> git.0d.be Git - django-panik-nonstop.git/commitdiff
add view to play jingle
authorFrédéric Péters <fpeters@0d.be>
Mon, 6 Jan 2020 18:59:20 +0000 (19:59 +0100)
committerFrédéric Péters <fpeters@0d.be>
Mon, 6 Jan 2020 18:59:20 +0000 (19:59 +0100)
nonstop/urls.py
nonstop/views.py

index afef4f1a5e96cbfa7049bd8dca60e3e49384ead4..96d70362ba3eb2306b31b0cb1e329aa40e5f029c 100644 (file)
@@ -3,7 +3,8 @@ from django.conf.urls import url
 from .views import (SomaDayArchiveView, SomaDayArchiveCsvView, RedirectTodayView,
         TrackDetailView, ArtistDetailView, ArtistListView, StatisticsView,
         UploadTracksView, RecentTracksView, QuickLinksView, SearchView, CleanupView,
-        SearchCsvView, AddDiffusionView, AddStreamedDiffusionView)
+        SearchCsvView, AddDiffusionView, AddStreamedDiffusionView,
+        jingle_audio_view)
 
 urlpatterns = [
     # Example: /2012/nov/10/
@@ -29,4 +30,5 @@ urlpatterns = [
     # soma management for episodes
     url(r'^diffusion/(?P<pk>\d+)/add/$', AddDiffusionView.as_view(), name='nonstop-add-diffusion'),
     url(r'^diffusion/(?P<pk>\d+)/add-stream/$', AddStreamedDiffusionView.as_view(), name='nonstop-add-streamed-diffusion'),
+    url(r'^api/jingle/(?P<pk>\d+)/$', jingle_audio_view),
 ]
index 8f53b8f298743e5d9b867506db42afe31b329700..78510ae493f3bc97687e63030c57f8994b2e8c00 100644 (file)
@@ -11,7 +11,7 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
 from django.core.urlresolvers import reverse
 from django.contrib import messages
 from django.db.models import Q
-from django.http import HttpResponse, HttpResponseRedirect
+from django.http import HttpResponse, HttpResponseRedirect, FileResponse
 from django.utils.six import StringIO
 from django.utils.translation import ugettext_lazy as _
 from django.views.generic.base import RedirectView, TemplateView
@@ -21,7 +21,7 @@ from django.views.generic.edit import CreateView, FormView
 from django.views.generic.list import ListView
 
 from .forms import UploadTracksForm, TrackMetaForm, TrackSearchForm, CleanupForm
-from .models import SomaLogLine, Track, Artist, NonstopFile, StreamedDiffusion, Jingle
+from .models import SomaLogLine, Track, Artist, NonstopFile, StreamedDiffusion, Jingle, LOCAL_BASE_PATH
 from emissions.models import Nonstop, Diffusion
 
 from . import utils
@@ -395,3 +395,8 @@ class AddStreamedDiffusionView(CreateView):
         return reverse('episode-view', kwargs={
             'emission_slug': episode.emission.slug,
             'slug': episode.slug})
+
+
+def jingle_audio_view(request, *args, **kwargs):
+    jingle = Jingle.objects.get(id=kwargs['pk'])
+    return FileResponse(open(os.path.join(LOCAL_BASE_PATH, 'SPOTS', jingle.filepath), 'rb'))