Coverage for website/thaliawebsite/templatetags/pick_header_image.py: 100.00%
16 statements
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1import random
3from django import template
4from django.contrib.staticfiles.storage import staticfiles_storage
5from django.utils.safestring import mark_safe
7register = template.Library()
9HEADERS = [
10 "img/headers/banner_default",
11 "img/headers/banner_bicycles",
12 "img/headers/banner_huygenshall",
13 "img/headers/banner_huygensfront",
14 "img/headers/banner_huygens",
15 "img/headers/banner_huygenstent",
16 "img/headers/banner_robot",
17 "img/headers/banner_tent",
18]
20HEADERS_FUN = [
21 "img/headers/banner_wine",
22 "img/headers/banner_winetasting",
23 "img/headers/banner_christmas",
24 "img/headers/banner_huygenstent",
25 "img/headers/banner_bingo",
26 "img/headers/banner_food",
27]
30@register.simple_tag
31def pick_header_image(type="normal"):
32 """Render a random header image."""
33 if type == "fun":
34 headers = HEADERS_FUN
35 else:
36 headers = HEADERS
37 header = random.choice(headers)
38 header_2k = staticfiles_storage.url(header + "-2k.webp")
39 header_5k = staticfiles_storage.url(header + "-5k.webp")
41 return mark_safe(f"{header_2k}, {header_5k} 3x")