src/pyams_content/features/redirect/interfaces/__init__.py
branchdev-dc
changeset 1086 3d259e1718ef
parent 1079 a5e56749ca3d
parent 1084 6b6a884fa28a
child 1087 978a2b9123b9
--- a/src/pyams_content/features/redirect/interfaces/__init__.py	Fri Oct 12 14:33:03 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +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'
-
-
-# import standard library
-
-# import interfaces
-from pyams_content.interfaces.container import IOrderedContainer
-from pyams_sequence.interfaces import IInternalReference
-
-# import packages
-from pyams_sequence.schema import InternalReferenceField
-from zope.container.constraints import contains, containers
-from zope.interface import Interface, Attribute, invariant, Invalid
-from zope.schema import Bool, TextLine
-
-from pyams_content import _
-
-
-REDIRECT_MANAGER_KEY = 'pyams_content.redirect'
-
-
-class IRedirectionRule(IInternalReference):
-    """Redirection rule interface"""
-
-    containers('.IRedirectManager')
-
-    active = Bool(title=_("Active rule?"),
-                  description=_("If 'no', selected rule is inactive"),
-                  required=True,
-                  default=False)
-
-    chained = Bool(title=_("Chained rule?"),
-                   description=_("If 'no', and if this rule is matching received request URL, the rule "
-                                 "returns a redirection response; otherwise, the rule just rewrites the "
-                                 "input URL which is forwarded to the next rule"),
-                   required=True,
-                   default=False)
-
-    permanent = Bool(title=_("Permanent redirect?"),
-                     description=_("Define if this redirection should be permanent or temporary"),
-                     required=True,
-                     default=True)
-
-    url_pattern = TextLine(title=_("URL pattern"),
-                           description=_("Regexp pattern of matching URLs for this redirection rule"),
-                           required=True)
-
-    pattern = Attribute("Compiled URL pattern")
-
-    reference = InternalReferenceField(title=_("Internal redirection target"),
-                                       description=_("Internal redirection reference. You can search a reference using "
-                                                     "'+' followed by internal number, of by entering text matching "
-                                                     "content title."),
-                                       required=False)
-
-    target_url = TextLine(title=_("Target URL"),
-                          description=_("URL to which source URL should be redirected"),
-                          required=False)
-
-    @invariant
-    def check_reference_and_target(self):
-        if self.reference and self.target_url:
-            raise Invalid(_("You can only provide an internal reference OR a target URL"))
-        elif not (self.reference or self.target_url):
-            raise Invalid(_("You must provide an internal reference OR a target URL"))
-
-    def match(self, source_url):
-        """Return regexp URL match on given URL"""
-
-    def rewrite(self, source_url, request):
-        """Rewrite given source URL"""
-
-
-class IRedirectionManager(IOrderedContainer):
-    """Redirection manager"""
-
-    contains(IRedirectionRule)
-
-    def get_active_items(self):
-        """Get iterator over active items"""
-
-    def get_response(self, request):
-        """Get new response for given request"""
-
-    def test_rules(self, source_url, request, check_inactive_rules=False):
-        """Test rules against given URL"""
-
-
-class IRedirectionManagerTarget(Interface):
-    """Redirection manager target marker interface"""