Coverage for website/activemembers/sitemaps.py: 100.00%

27 statements  

« prev     ^ index     » next       coverage.py v7.6.7, created at 2025-08-14 10:31 +0000

1from django.contrib import sitemaps 

2from django.urls import reverse 

3 

4from . import models 

5 

6 

7class StaticViewSitemap(sitemaps.Sitemap): 

8 priority = 0.5 

9 changefreq = "daily" 

10 

11 def items(self): 

12 return [ 

13 "activemembers:committees", 

14 "activemembers:societies", 

15 "activemembers:boards", 

16 ] 

17 

18 def location(self, item): 

19 return reverse(item) 

20 

21 

22class CommitteeSitemap(sitemaps.Sitemap): 

23 def items(self): 

24 return models.Committee.active_objects.all() 

25 

26 def location(self, item): 

27 return item.get_absolute_url() 

28 

29 

30class SocietySitemap(sitemaps.Sitemap): 

31 def items(self): 

32 return models.Society.active_objects.all() 

33 

34 def location(self, item): 

35 return item.get_absolute_url() 

36 

37 

38class BoardSitemap(sitemaps.Sitemap): 

39 changefreq = "yearly" 

40 

41 def items(self): 

42 return models.Board.objects.all() 

43 

44 def location(self, item): 

45 return item.get_absolute_url() 

46 

47 

48sitemap = { 

49 "activemembers-static": StaticViewSitemap, 

50 "activemembers-committees": CommitteeSitemap, 

51 "activemembers-societies": SocietySitemap, 

52 "activemembers-boards": BoardSitemap, 

53}