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
« 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
4from . import models
7class StaticViewSitemap(sitemaps.Sitemap):
8 priority = 0.5
9 changefreq = "daily"
11 def items(self):
12 return [
13 "activemembers:committees",
14 "activemembers:societies",
15 "activemembers:boards",
16 ]
18 def location(self, item):
19 return reverse(item)
22class CommitteeSitemap(sitemaps.Sitemap):
23 def items(self):
24 return models.Committee.active_objects.all()
26 def location(self, item):
27 return item.get_absolute_url()
30class SocietySitemap(sitemaps.Sitemap):
31 def items(self):
32 return models.Society.active_objects.all()
34 def location(self, item):
35 return item.get_absolute_url()
38class BoardSitemap(sitemaps.Sitemap):
39 changefreq = "yearly"
41 def items(self):
42 return models.Board.objects.all()
44 def location(self, item):
45 return item.get_absolute_url()
48sitemap = {
49 "activemembers-static": StaticViewSitemap,
50 "activemembers-committees": CommitteeSitemap,
51 "activemembers-societies": SocietySitemap,
52 "activemembers-boards": BoardSitemap,
53}