from django.conf.urls import url
+from django.core.urlresolvers import reverse_lazy
+from django.views.generic import RedirectView
from .views import (SomaDayArchiveView, SomaDayArchiveCsvView, RedirectTodayView,
TrackDetailView, ArtistDetailView, ArtistListView, StatisticsView,
- UploadTracksView, RecentTracksView, QuickLinksView, SearchView, CleanupView,
- SearchCsvView, AddDiffusionView, AddStreamedDiffusionView,
- DelStreamedDiffusionView,
- jingle_audio_view)
+ UploadTracksView, RecentTracksMetadataView, RandomTracksMetadataView,
+ QuickLinksView, SearchView, CleanupView, ArtistTracksMetadataView,
+ SearchCsvView, AddSomaDiffusionView, DelSomaDiffusionView,
+ DiffusionPropertiesView, AjaxProgram, ZoneSettings,
+ jingle_audio_view,
+ MuninTracks)
urlpatterns = [
- # Example: /2012/nov/10/
- url(r'^$', RedirectTodayView.as_view(), name='nonstop-today'),
- url(r'^stats/$', StatisticsView.as_view(), name='stats-view'),
+ url(r'^$', QuickLinksView.as_view(), name='nonstop-quick-links'),
+ url(r'^today/$', RedirectTodayView.as_view(), name='nonstop-today'),
+
+ url(r'^stats/$', StatisticsView.as_view(), name='nonstop-stats'),
url(r'^tracks/(?P<pk>\d+)/$', TrackDetailView.as_view(), name='track-view'),
url(r'^artists/$', ArtistListView.as_view(), name='artist-list'),
url(r'^artists/(?P<pk>\d+)/$', ArtistDetailView.as_view(), name='artist-view'),
+
+ url(r'^zones/(?P<slug>[\w-]+)/settings/$', ZoneSettings.as_view(), name='zone-settings'),
+
+ # Example: /2012/nov/10/
url(r'^(?P<year>[0-9]{4})/(?P<month>[-\w]+)/(?P<day>[0-9]+)/$',
SomaDayArchiveView.as_view(),
name="archive_day"),
name="archive_day_csv"),
url(r'^upload/$', UploadTracksView.as_view(), name='nonstop-upload-tracks'),
- url(r'^recent/$', RecentTracksView.as_view(), name='nonstop-recent-tracks'),
+ url(r'^metadata/recent/$', RecentTracksMetadataView.as_view(), name='nonstop-recent-tracks'),
+ url(r'^metadata/random/$', RandomTracksMetadataView.as_view(), name='nonstop-random-tracks'),
+ url(r'^metadata/artist/(?P<artist_pk>\d+)/$', ArtistTracksMetadataView.as_view(), name='nonstop-artist-metadata-tracks'),
url(r'^search/$', SearchView.as_view(), name='nonstop-search'),
url(r'^search/csv$', SearchCsvView.as_view(), name='nonstop-search-csv'),
- url(r'^quick-links/$', QuickLinksView.as_view(), name='nonstop-quick-links'),
+ url(r'^quick-links/$', RedirectView.as_view(url=reverse_lazy('nonstop-quick-links'))),
url(r'^cleanup/$', CleanupView.as_view(), name='nonstop-cleanup'),
# 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'^diffusion/(?P<pk>\d+)/del-stream/$', DelStreamedDiffusionView.as_view(), name='nonstop-del-streamed-diffusion'),
+ url(r'^diffusion/(?P<pk>\d+)/add/$', AddSomaDiffusionView.as_view(), name='nonstop-add-diffusion'),
+ url(r'^diffusion/(?P<pk>\d+)/properties/$', DiffusionPropertiesView.as_view(),
+ name='nonstop-diffusion-properties'),
+ url(r'^diffusion/(?P<pk>\d+)/del/$', DelSomaDiffusionView.as_view(), name='nonstop-del-diffusion'),
url(r'^api/jingle/(?P<pk>\d+)/$', jingle_audio_view),
+
+ # ajax parts
+ url(r'^ajax/program/(?P<date>[\d-]*)$', AjaxProgram.as_view(), name='nonstop-ajax-program'),
+]
+
+public_urlpatterns = [
+ url(r'^api/munin/tracks/(?P<config>config/)?$', MuninTracks.as_view()),
]