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,
11 jingle_audio_view, track_sound,
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'^tracks/(?P<pk>\d+)/sound/$', track_sound, name='nonstop-track-sound'),
21 url(r'^artists/$', ArtistListView.as_view(), name='artist-list'),
22 url(r'^artists/(?P<pk>\d+)/$', ArtistDetailView.as_view(), name='artist-view'),
24 url(r'^zones/$$', ZonesView.as_view(), name='nonstop-zones'),
25 url(r'^zones/(?P<slug>[\w-]+)/settings/$', ZoneSettings.as_view(), name='zone-settings'),
27 # Example: /2012/nov/10/
28 url(r'^(?P<year>[0-9]{4})/(?P<month>[-\w]+)/(?P<day>[0-9]+)/$',
29 SomaDayArchiveView.as_view(),
31 url(r'^(?P<year>[0-9]{4})/(?P<month>[-\w]+)/(?P<day>[0-9]+)/csv$',
32 SomaDayArchiveCsvView.as_view(),
33 name="archive_day_csv"),
35 url(r'^upload/$', UploadTracksView.as_view(), name='nonstop-upload-tracks'),
36 url(r'^metadata/recent/$', RecentTracksMetadataView.as_view(), name='nonstop-recent-tracks'),
37 url(r'^metadata/random/$', RandomTracksMetadataView.as_view(), name='nonstop-random-tracks'),
38 url(r'^metadata/artist/(?P<artist_pk>\d+)/$', ArtistTracksMetadataView.as_view(), name='nonstop-artist-metadata-tracks'),
39 url(r'^search/$', SearchView.as_view(), name='nonstop-search'),
40 url(r'^search/csv$', SearchCsvView.as_view(), name='nonstop-search-csv'),
41 url(r'^quick-links/$', RedirectView.as_view(url=reverse_lazy('nonstop-quick-links'))),
42 url(r'^cleanup/$', CleanupView.as_view(), name='nonstop-cleanup'),
44 # soma management for episodes
45 url(r'^diffusion/(?P<pk>\d+)/add/$', AddSomaDiffusionView.as_view(), name='nonstop-add-diffusion'),
46 url(r'^diffusion/(?P<pk>\d+)/properties/$', DiffusionPropertiesView.as_view(),
47 name='nonstop-diffusion-properties'),
48 url(r'^diffusion/(?P<pk>\d+)/del/$', DelSomaDiffusionView.as_view(), name='nonstop-del-diffusion'),
49 url(r'^api/jingle/(?P<pk>\d+)/$', jingle_audio_view),
52 url(r'^ajax/program/(?P<date>[\d-]*)$', AjaxProgram.as_view(), name='nonstop-ajax-program'),
55 public_urlpatterns = [
56 url(r'^api/munin/tracks/(?P<config>config/)?$', MuninTracks.as_view()),