summaryrefslogtreecommitdiff
path: root/docs/sitemaps.py
blob: c46ec0933baf21a92bcc154d3add0480ff345a53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from django.contrib.sitemaps import Sitemap

from djangoproject.sitemaps import LocationAbsoluteUrlMixin

from .models import Document
from .search import DocumentationCategory


class DocsSitemap(LocationAbsoluteUrlMixin, Sitemap):
    def __init__(self, lang):
        self.lang = lang

    def items(self):
        return (
            Document.objects.filter(release__lang=self.lang)
            .exclude(metadata__parents=DocumentationCategory.WEBSITE)
            .order_by("-release__release", "path")
            .select_related("release__release")
        )

    def location(self, item):
        return item.get_absolute_url()

    def changefreq(self, obj):
        return "daily"

    #        if obj.release.is_dev:
    #            return 'daily'
    #        elif obj.release.is_default:
    #            return 'monthly'
    #        else:
    #            return 'yearly'

    def priority(self, obj):
        if obj.release.is_dev:
            return 0.5
        elif obj.release.is_default:
            return 1
        else:
            return 0.1