7da7c387937da04c608cb742716727d9279bd34a
[django-migdal.git] / migdal / sitemap.py
1 from django.contrib.sitemaps import Sitemap
2 from django.utils.translation import override
3 from .models import Entry
4 from django.conf import settings
5
6 class MigdalSitemap(Sitemap):
7     changefreq = "never"
8     priority = 0.5
9
10     def __init__(self, lang):
11         self.lang = lang
12
13     def items(self):
14         return Entry.objects.filter(**{"published_%s" % self.lang: True})
15
16     def lastmod(self, obj):
17         return obj.changed_at
18
19     def location(self, obj):
20         with override(self.lang):
21             return obj.get_absolute_url()
22
23
24 sitemaps = {}
25 for lc, ln in settings.LANGUAGES:
26     sitemaps['entry_%s' % lc] = MigdalSitemap(lc)