1 from django.conf.urls import url
2 from django.core.urlresolvers import reverse_lazy
3 from django.views.generic import RedirectView
5 from .views import (SomaDayArchiveView, SomaDayArchiveCsvView, RedirectTodayView,
6 TrackDetailView, ArtistDetailView, ArtistListView, StatisticsView,
7 UploadTracksView, RecentTracksMetadataView, RandomTracksMetadataView,
8 QuickLinksView, SearchView, CleanupView, ArtistTracksMetadataView,
9 SearchCsvView, AddSomaDiffusionView, DelSomaDiffusionView,
10 DiffusionPropertiesView, AjaxProgram, ZonesView, ZoneSettings,
15 url(r'^$', QuickLinksView.as_view(), name='nonstop-quick-links'),
16 url(r'^today/$', RedirectTodayView.as_view(), name='nonstop-today'),
18 url(r'^stats/$', StatisticsView.as_view(), name='nonstop-stats'),
19 url(r'^tracks/(?P<pk>\d+)/$', TrackDetailView.as_view(), name='track-view'),
20 url(r'^artists/$', ArtistListView.as_view(), name='artist-list'),
21 url(r'^artists/(?P<pk>\d+)/$', ArtistDetailView.as_view(), name='artist-view'),
23 url(r'^zones/$$', ZonesView.as_view(), name='nonstop-zones'),
24 url(r'^zones/(?P<slug>[\w-]+)/settings/$', ZoneSettings.as_view(), name='zone-settings'),
26 # Example: /2012/nov/10/
27 url(r'^(?P<year>[0-9]{4})/(?P<month>[-\w]+)/(?P<day>[0-9]+)/$',
28 SomaDayArchiveView.as_view(),
30 url(r'^(?P<year>[0-9]{4})/(?P<month>[-\w]+)/(?P<day>[0-9]+)/csv$',
31 SomaDayArchiveCsvView.as_view(),
32 name="archive_day_csv"),
34 url(r'^upload/$', UploadTracksView.as_view(), name='nonstop-upload-tracks'),
35 url(r'^metadata/recent/$', RecentTracksMetadataView.as_view(), name='nonstop-recent-tracks'),
36 url(r'^metadata/random/$', RandomTracksMetadataView.as_view(), name='nonstop-random-tracks'),
37 url(r'^metadata/artist/(?P<artist_pk>\d+)/$', ArtistTracksMetadataView.as_view(), name='nonstop-artist-metadata-tracks'),
38 url(r'^search/$', SearchView.as_view(), name='nonstop-search'),
39 url(r'^search/csv$', SearchCsvView.as_view(), name='nonstop-search-csv'),
40 url(r'^quick-links/$', RedirectView.as_view(url=reverse_lazy('nonstop-quick-links'))),
41 url(r'^cleanup/$', CleanupView.as_view(), name='nonstop-cleanup'),
43 # soma management for episodes
44 url(r'^diffusion/(?P<pk>\d+)/add/$', AddSomaDiffusionView.as_view(), name='nonstop-add-diffusion'),
45 url(r'^diffusion/(?P<pk>\d+)/properties/$', DiffusionPropertiesView.as_view(),
46 name='nonstop-diffusion-properties'),
47 url(r'^diffusion/(?P<pk>\d+)/del/$', DelSomaDiffusionView.as_view(), name='nonstop-del-diffusion'),
48 url(r'^api/jingle/(?P<pk>\d+)/$', jingle_audio_view),
51 url(r'^ajax/program/(?P<date>[\d-]*)$', AjaxProgram.as_view(), name='nonstop-ajax-program'),
54 public_urlpatterns = [
55 url(r'^api/munin/tracks/(?P<config>config/)?$', MuninTracks.as_view()),