[Checkins] SVN: zope.site/trunk/ Add a containment constraint to the SiteManagementFolder that makes it only available to be contained in ILocalSiteManagers and other ISiteManagementFolders.

Dan Korostelev nadako at gmail.com
Sat Feb 28 04:38:30 EST 2009


Log message for revision 97373:
  Add a containment constraint to the SiteManagementFolder that makes it only available to be contained in ILocalSiteManagers and other ISiteManagementFolders.

Changed:
  U   zope.site/trunk/CHANGES.txt
  U   zope.site/trunk/src/zope/site/interfaces.py

-=-
Modified: zope.site/trunk/CHANGES.txt
===================================================================
--- zope.site/trunk/CHANGES.txt	2009-02-28 09:36:13 UTC (rev 97372)
+++ zope.site/trunk/CHANGES.txt	2009-02-28 09:38:30 UTC (rev 97373)
@@ -14,6 +14,10 @@
 - Allow specify whether to create 'default' SiteManagementFolder on
   initializing LocalSiteManager. Use the ``default_folder`` argument.
 
+- Add a containment constraint to the SiteManagementFolder that makes
+  it only available to be contained in ILocalSiteManagers and other
+  ISiteManagementFolders.
+
 - Change package's mailing list address to zope-dev at zope.org, as
   zope3-dev at zope.org is now retired.
 

Modified: zope.site/trunk/src/zope/site/interfaces.py
===================================================================
--- zope.site/trunk/src/zope/site/interfaces.py	2009-02-28 09:36:13 UTC (rev 97372)
+++ zope.site/trunk/src/zope/site/interfaces.py	2009-02-28 09:38:30 UTC (rev 97373)
@@ -19,6 +19,7 @@
 import zope.interface
 import zope.component.interfaces
 import zope.container.interfaces
+import zope.container.constraints
 import zope.location.interfaces
 
 from zope.location.interfaces import IPossibleSite
@@ -76,9 +77,8 @@
 class ISiteManagementFolder(zope.container.interfaces.IContainer):
     """Component and component registration containers."""
 
-    # XXX we need to figure out how to constrain this or, alternatively,
-    # just use regular folders, which is probably the beter choice.
-    # zope.container.constraints.containers(ILocalSiteManager)
+    zope.container.constraints.containers(
+        ILocalSiteManager, '.ISiteManagementFolder')
 
 class IFolder(zope.container.interfaces.IContainer, IPossibleSite, 
               IAttributeAnnotatable):



More information about the Checkins mailing list