aboutsummaryrefslogtreecommitdiffstats
path: root/pysite/views/wiki/sitemap_xml.py
diff options
context:
space:
mode:
Diffstat (limited to 'pysite/views/wiki/sitemap_xml.py')
-rw-r--r--pysite/views/wiki/sitemap_xml.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/pysite/views/wiki/sitemap_xml.py b/pysite/views/wiki/sitemap_xml.py
new file mode 100644
index 00000000..9b7f0980
--- /dev/null
+++ b/pysite/views/wiki/sitemap_xml.py
@@ -0,0 +1,22 @@
+from flask import Response, url_for
+
+from pysite.base_route import RouteView
+from pysite.mixins import DBMixin
+
+
+class SitemapXML(RouteView, DBMixin):
+ path = "/sitemap.xml"
+ name = "sitemap_xml"
+ table_name = "wiki"
+
+ def get(self):
+ urls = []
+
+ for page in self.db.get_all(self.table_name):
+ urls.append({
+ "change_frequency": "weekly",
+ "type": "url",
+ "url": url_for("wiki.page", page=page["slug"], _external=True)
+ })
+
+ return Response(self.render("sitemap.xml", urls=urls), content_type="application/xml")