from django.shortcuts import get_object_or_404, render import markdown from label.models import Artist, Release, VideoClip from label.tools import ( get_catalog_tag_from_id, get_contribs, get_id_from_catalog_tag, ) def artists_view(request): artists = Artist.objects.all() context = {'artists': artists} return render(request, 'label/artists.html', context) def artist_view(request, slug): artist = get_object_or_404(Artist, slug=slug) artist.description = markdown.markdown(artist.description) releases = artist.release_set.all() for release in releases: release.tag = get_catalog_tag_from_id(release.ident) context = {'artist': artist, 'releases': releases} return render(request, 'label/artist.html', context) def releases_view(request): artists = Artist.objects.all() releases = Release.objects.filter(released=True) releases_and_infos = [] for release in releases: release_tag = get_catalog_tag_from_id(release.ident) releases_and_infos.append({ 'id': release.id, 'release_type': release.release_type, 'tag': release_tag, 'title': release.title, 'contribs': get_contribs(release.contributors.all()), 'year': release.year, 'cover': release.cover, 'url_bandcamp': release.url_bandcamp, }) context = {'releases': releases_and_infos} return render(request, 'label/releases.html', context) def release_view(request, tag): ident = get_id_from_catalog_tag(tag) release = get_object_or_404(Release, ident=ident, released=True) contribs = get_contribs(release.contributors.all()) context = {'release': release, 'contribs': contribs} return render(request, 'label/release.html', context) def videos_view(request): videos = VideoClip.objects.order_by('-year', 'title') context = {'videos': videos} return render(request, 'label/videos.html', context)