def sitemap(self): """ Returns a sitemap for the given document type (paginated). """ doc_type = self.request.matchdict['doc_type'] i = self.request.matchdict['i'] def load_data(old_api_cache_key=None): url = '{}/{}/{}'.format(Sitemap._API_ROUTE, doc_type, i) not_modified, api_cache_key, body = get_with_etag( self.settings, url, old_api_cache_key) return not_modified, api_cache_key, (body, ) def render_page(sitemap_data): return generate_sitemap(sitemap_data, doc_type, self.request) return get_or_create( (doc_type, i), cache_sitemap, load_data, render_page, get_cache_key, get_etag_key_default, self._return_xml, debug=False, request=self.request)
def index(self): """ Returns a sitemap index. See http://www.sitemaps.org/protocol.html#index """ def load_data(old_api_cache_key=None): not_modified, api_cache_key, body = get_with_etag( self.settings, Sitemap._API_ROUTE, old_api_cache_key) return not_modified, api_cache_key, (body, ) def render_page(sitemap_data): base_url = self.request.route_url( 'sitemap', doc_type='-DOC_TYPE-', i='-I-', _scheme='https') lastmod = datetime.datetime.utcnow().isoformat() return generate_sitemap_index(sitemap_data, base_url, lastmod) return get_or_create( (None, ), cache_sitemap, load_data, render_page, get_cache_key, get_etag_key_default, self._return_xml, debug=False, request=self.request)
def index(self): """ Returns a sitemap index. See http://www.sitemaps.org/protocol.html#index """ def load_data(old_api_cache_key=None): not_modified, api_cache_key, body = get_with_etag( self.settings, Sitemap._API_ROUTE, old_api_cache_key) return not_modified, api_cache_key, (body, ) def render_page(sitemap_data): base_url = self.request.route_url( 'sitemap', doc_type='-DOC_TYPE-', i='-I-', _scheme='https') now = datetime.datetime.utcnow().replace( tzinfo=datetime.timezone.utc) lastmod = now.isoformat() return generate_sitemap_index(sitemap_data, base_url, lastmod) return get_or_create( (None, ), cache_sitemap, load_data, render_page, get_cache_key, get_etag_key_default, self._return_xml, debug=False, request=self.request)