# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # MIT License. See license.txt from __future__ import unicode_literals import urllib import frappe from frappe.utils import get_request_site_address, get_datetime, nowdate from frappe.website.router import get_pages, get_all_page_context_from_doctypes no_cache = 1 no_sitemap = 1 base_template_path = "templates/pages/sitemap.xml" def get_context(context): """generate the sitemap XML""" host = get_request_site_address() links = [] for route, page in get_pages().iteritems(): if not page.no_sitemap: links.append({ "loc": urllib.basejoin(host, urllib.quote(page.name.encode("utf-8"))), "lastmod": nowdate() }) for route, data in get_all_page_context_from_doctypes().iteritems(): links.append({ "loc": urllib.basejoin(host, urllib.quote((route or "").encode("utf-8"))), "lastmod": get_datetime(data.get("modified")).strftime("%Y-%m-%d") }) return {"links":links}