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

1import random 

2 

3from django import template 

4from django.contrib.staticfiles.storage import staticfiles_storage 

5from django.utils.safestring import mark_safe 

6 

7register = template.Library() 

8 

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] 

19 

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] 

28 

29 

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") 

40 

41 return mark_safe(f"{header_2k}, {header_5k} 3x")