示例#1
0
文件: sitemap.py 项目: pixelfr/v6_ui
    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)
示例#2
0
文件: sitemap.py 项目: c2corg/v6_ui
    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)
示例#3
0
文件: sitemap.py 项目: c2corg/v6_ui
    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)
示例#4
0
文件: sitemap.py 项目: pixelfr/v6_ui
    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)