aboutsummaryrefslogtreecommitdiffstats
path: root/pysite/views/main/sitemap_xml.py
blob: 98893c2175a32f163b3c7e83220d0ecca4e29bd0 (plain) (blame)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
from flask import Response, url_for

from pysite.base_route import RouteView


class SitemapXML(RouteView):
    path = "/sitemap.xml"
    name = "sitemap_xml"

    def get(self):
        urls = [
            {
                "type": "url",
                "url": url_for("main.index", _external=True),
                "priority": 1.0,  # Max priority

                "images": [
                    {
                        "caption": "Python Discord Logo",
                        "url": url_for("static", filename="logos/logo_discord.png", _external=True)
                    },
                    {
                        "caption": "Python Discord Banner",
                        "url": url_for("static", filename="logos/logo_banner.png", _external=True)
                    }
                ]
            },

            {
                "type": "url",
                "url": url_for("main.jams.index", _external=True),
                "priority": 0.9  # Above normal priority
            },

            {
                "type": "url",
                "url": url_for("main.about.privacy", _external=True),
                "priority": 0.8  # Above normal priority
            },
            {
                "type": "url",
                "url": url_for("main.about.rules", _external=True),
                "priority": 0.8  # Above normal priority
            },

            {
                "type": "url",
                "url": url_for("main.info.help", _external=True),
                "priority": 0.7  # Above normal priority
            },
            {
                "type": "url",
                "url": url_for("main.info.faq", _external=True),
                "priority": 0.7  # Above normal priority
            },
            {
                "type": "url",
                "url": url_for("main.info.resources", _external=True),
                "priority": 0.7  # Above normal priority
            },

            {
                "type": "url",
                "url": url_for("main.about.partners", _external=True),
                "priority": 0.6  # Normal priority
            },
        ]

        return Response(self.render("sitemap.xml", urls=urls), content_type="application/xml")