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
+from .views import (SomaDayArchiveView, SomaDayArchiveCsvView, RedirectTodayView,
+ TrackDetailView, ArtistDetailView, ArtistListView, StatisticsView,
+ 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()),
+ 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"),
url(r'^(?P<year>[0-9]{4})/(?P<month>[-\w]+)/(?P<day>[0-9]+)/csv$',
SomaDayArchiveCsvView.as_view(),
name="archive_day_csv"),
+
+ url(r'^upload/$', UploadTracksView.as_view(), name='nonstop-upload-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/$', 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/$', 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()),
]