1
0
Fork 0
IdreXyz/label/views.py
2023-09-14 22:34:18 +02:00

64 lines
1.9 KiB
Python

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)