from .views import (SomaDayArchiveView, SomaDayArchiveCsvView, RedirectTodayView,
TrackDetailView, ArtistDetailView, ArtistListView, StatisticsView,
UploadTracksView, RecentTracksMetadataView, RandomTracksMetadataView,
- QuickLinksView, SearchView, CleanupView,
+ QuickLinksView, SearchView, CleanupView, ArtistTracksMetadataView,
SearchCsvView, AddSomaDiffusionView, DelSomaDiffusionView,
DiffusionPropertiesView, AjaxProgram, ZoneSettings,
jingle_audio_view)
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'))),
return super().get_queryset().exclude(creation_timestamp__isnull=True).order_by('-creation_timestamp')[:50]
+class ArtistTracksMetadataView(TracksMetadataView):
+
+ @property
+ def page_title(self):
+ return _('Metadata of tracks from %s') % Artist.objects.get(id=self.kwargs['artist_pk']).name
+
+ def get_queryset(self):
+ return super().get_queryset().filter(artist_id=self.kwargs['artist_pk']).order_by('title')
+
+
class QuickLinksView(TemplateView):
template_name = 'nonstop/quick_links.html'