[Checkins] SVN: zope.principalregistry/trunk/ Drop zope.container dependency. Hurray!

Dan Korostelev nadako at gmail.com
Wed Mar 11 23:36:04 EDT 2009


Log message for revision 97953:
  Drop zope.container dependency. Hurray!

Changed:
  U   zope.principalregistry/trunk/CHANGES.txt
  U   zope.principalregistry/trunk/setup.py
  U   zope.principalregistry/trunk/src/zope/principalregistry/principalregistry.py

-=-
Modified: zope.principalregistry/trunk/CHANGES.txt
===================================================================
--- zope.principalregistry/trunk/CHANGES.txt	2009-03-12 03:23:55 UTC (rev 97952)
+++ zope.principalregistry/trunk/CHANGES.txt	2009-03-12 03:36:02 UTC (rev 97953)
@@ -5,6 +5,14 @@
 3.7.0 (unreleased)
 ------------------
 
-Initial release. This package was splitted from zope.app.security as a part
-of the refactoring process to provide global principal registry without extra
-dependencies.
+- Remove ``zope.container`` dependency, as contained principals didn't make any
+  sense, since PrincipalRegistry never provided IContainer. Also, zope.container
+  pulls a number dependencies, that are not needed for non-persistent principal
+  registry (like, ZODB, for example).
+  
+  Set __name__ and __parent__ by hand to provide some backward-compatibility and
+  to save a pointer to registry from principal objects.
+
+- Initial release. This package was splitted from zope.app.security as a part
+  of the refactoring process to provide global principal registry without extra
+  dependencies.

Modified: zope.principalregistry/trunk/setup.py
===================================================================
--- zope.principalregistry/trunk/setup.py	2009-03-12 03:23:55 UTC (rev 97952)
+++ zope.principalregistry/trunk/setup.py	2009-03-12 03:36:02 UTC (rev 97953)
@@ -53,8 +53,6 @@
                         'zope.interface',
                         'zope.password',
                         'zope.security',
-                        
-                        'zope.container', # XXX: THIS IS BAD
                         ],
       include_package_data = True,
       zip_safe = False,

Modified: zope.principalregistry/trunk/src/zope/principalregistry/principalregistry.py
===================================================================
--- zope.principalregistry/trunk/src/zope/principalregistry/principalregistry.py	2009-03-12 03:23:55 UTC (rev 97952)
+++ zope.principalregistry/trunk/src/zope/principalregistry/principalregistry.py	2009-03-12 03:36:02 UTC (rev 97953)
@@ -21,9 +21,6 @@
 from zope.security.interfaces import IGroupAwarePrincipal
 from zope.password.interfaces import IPasswordManager
 
-# XXX: THIS IS BAD
-from zope.container.contained import Contained, contained
-
 from zope.authentication.interfaces import (
     IAuthentication,
     PrincipalLookupError,
@@ -72,7 +69,9 @@
         self.__defaultid = id
         if principal is None:
             principal = UnauthenticatedPrincipal(id, title, description)
-        self.__defaultObject = contained(principal, self, id)
+        principal.__name__ = id
+        principal.__parent__ = self
+        self.__defaultObject = principal
         return principal
 
     def unauthenticatedPrincipal(self):
@@ -123,7 +122,8 @@
 
         p = Principal(id, title, description,
             login, password, passwordManagerName)
-        p = contained(p, self, id)
+        p.__name__ = id
+        p.__parent__ = self
 
         self.__principalsByLogin[login] = p
         self.__principalsById[id] = p
@@ -154,8 +154,10 @@
     addCleanUp(principalRegistry._clear)
     del addCleanUp
 
-class PrincipalBase(Contained):
+class PrincipalBase(object):
 
+    __name__ = __parent__ = None
+
     def __init__(self, id, title, description):
         self.id = id
         self.title = title



More information about the Checkins mailing list