Moved skin features to PyAMS default theme
authorThierry Florac <tflorac@ulthar.net>
Wed, 07 Nov 2018 17:43:55 +0100
changeset 1063 1f8629465141
parent 1062 258bb3e29cbb
child 1064 2375abafdeb1
Moved skin features to PyAMS default theme
src/pyams_content/features/sitemap/__init__.py
src/pyams_content/features/sitemap/skin/__init__.py
--- a/src/pyams_content/features/sitemap/__init__.py	Wed Nov 07 17:36:53 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-#
-# Copyright (c) 2008-2018 Thierry Florac <tflorac AT ulthar.net>
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-
-__docformat__ = 'restructuredtext'
-
-
--- a/src/pyams_content/features/sitemap/skin/__init__.py	Wed Nov 07 17:36:53 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-#
-# Copyright (c) 2008-2018 Thierry Florac <tflorac AT ulthar.net>
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-
-__docformat__ = 'restructuredtext'
-
-from datetime import datetime
-from itertools import product
-
-from hypatia.catalog import CatalogQuery
-from hypatia.interfaces import ICatalog
-from hypatia.query import Any, Eq
-from pyramid.view import view_config
-from zope.intid import IIntIds
-
-from pyams_catalog.query import CatalogResultSet
-from pyams_content.root import ISiteRoot, ISiteRootToolsConfiguration
-from pyams_content.shared.common import CONTENT_TYPES, IBaseSharedTool
-from pyams_i18n.interfaces import II18nManager
-from pyams_skin.layer import IPyAMSUserLayer
-from pyams_utils.list import unique_iter
-from pyams_utils.registry import get_all_utilities_registered_for, get_utility
-from pyams_workflow.interfaces import IWorkflow, IWorkflowPublicationInfo
-
-
-@view_config(name='robots.txt', context=ISiteRoot, request_type=IPyAMSUserLayer,
-             renderer='templates/robots.pt')
-def site_root_robots_view(request):
-    """Site root robots.txt view"""
-    request.response.content_type = 'text/plain'
-    return {
-        'tools_configuration': ISiteRootToolsConfiguration(request.root),
-        'disallow': [tool for tool in get_all_utilities_registered_for(IBaseSharedTool)
-                     if not tool.shared_content_menu]
-    }
-
-
-@view_config(name='humans.txt', context=ISiteRoot, request_type=IPyAMSUserLayer,
-             renderer='templates/humans.pt')
-def site_root_humans_view(request):
-    """Site root humans.txt view"""
-    request.response.content_type = 'text/plain'
-    return {}
-
-
-@view_config(name='sitemap.xml', context=ISiteRoot, request_type=IPyAMSUserLayer,
-             renderer='templates/root-sitemap.pt')
-class SiteRootSitemapView(object):
-    """Site root sitemap view"""
-
-    def __init__(self, request):
-        self.request = request
-
-    def __call__(self):
-        self.request.response.content_type = 'text/xml'
-        return {}
-
-    @property
-    def sources(self):
-        timestamp = datetime.utcnow().isoformat()
-        for tool in get_all_utilities_registered_for(IBaseSharedTool):
-            if not tool.shared_content_menu:
-                continue
-            publication_info = IWorkflowPublicationInfo(tool, None)
-            if (publication_info is None) or publication_info.is_visible(self.request):
-                yield timestamp, tool
-
-
-@view_config(name='sitemap.xml', context=IBaseSharedTool, request_type=IPyAMSUserLayer,
-             renderer='templates/tool-sitemap.pt')
-class SharedToolSitemapView(object):
-    """Shared tool sitemap view"""
-
-    def __init__(self, request):
-        self.request = request
-
-    def __call__(self):
-        self.request.response.content_type = 'text/xml'
-        return {}
-
-    @property
-    def contents(self):
-        context = self.request.context
-        catalog = get_utility(ICatalog)
-        intids = get_utility(IIntIds)
-        workflow = IWorkflow(context)
-        params = Eq(catalog['parents'], intids.register(context)) & \
-                 Any(catalog['content_type'], CONTENT_TYPES.keys()) & \
-                 Any(catalog['workflow_state'], workflow.published_states)
-        for version in unique_iter(CatalogResultSet(CatalogQuery(catalog).query(params))):
-            yield from product(II18nManager(version).get_languages(), (version,))