49 lines
1.6 KiB
Python
49 lines
1.6 KiB
Python
from django.shortcuts import get_object_or_404, render
|
|
import markdown
|
|
|
|
from label.models import Artist, Release
|
|
import label.tools as tools
|
|
|
|
|
|
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 = tools.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.all()
|
|
|
|
releases_and_infos = []
|
|
for release in releases:
|
|
release_tag = tools.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": tools.get_contribs(release.contributors.all()),
|
|
"year": release.year
|
|
})
|
|
|
|
context = { "releases": releases_and_infos }
|
|
return render(request, "label/releases.html", context)
|
|
|
|
def release_view(request, tag):
|
|
ident = tools.get_id_from_catalog_tag(tag)
|
|
release = get_object_or_404(Release, ident = ident)
|
|
contribs = tools.get_contribs(release.contributors.all())
|
|
context = { "release": release, "contribs": contribs }
|
|
return render(request, "label/release.html", context)
|