[Checkins] SVN: zope.session/trunk/ Drop dependency on zope.annotation.

Dan Korostelev nadako at gmail.com
Sun Mar 15 07:39:12 EDT 2009


Log message for revision 98119:
  Drop dependency on zope.annotation.
  

Changed:
  U   zope.session/trunk/CHANGES.txt
  U   zope.session/trunk/setup.py
  U   zope.session/trunk/src/zope/session/classes.zcml
  U   zope.session/trunk/src/zope/session/http.py
  U   zope.session/trunk/src/zope/session/session.py

-=-
Modified: zope.session/trunk/CHANGES.txt
===================================================================
--- zope.session/trunk/CHANGES.txt	2009-03-15 07:35:53 UTC (rev 98118)
+++ zope.session/trunk/CHANGES.txt	2009-03-15 11:39:12 UTC (rev 98119)
@@ -6,6 +6,14 @@
 
 - Don't raise deprecation warnings on Python 2.6.
 
+- Drop dependency on ``zope.annotation``. Instead, we make classes implement
+  `IAttributeAnnotatable` in ZCML configuration, only if ``zope.annotation``
+  is available. If your code relies on annotatable `CookieClientIdManager` 
+  and `PersistentSessionDataContainer` and you don't include the zcml classes
+  configuration of this package, you'll need to use `classImplements` function
+  from ``zope.interface`` to make those classes implement `IAttributeAnnotatable`
+  again.
+
 - Drop dependency on zope.app.http, use http-date building function
   from zope.datetime instead.
 

Modified: zope.session/trunk/setup.py
===================================================================
--- zope.session/trunk/setup.py	2009-03-15 07:35:53 UTC (rev 98118)
+++ zope.session/trunk/setup.py	2009-03-15 11:39:12 UTC (rev 98119)
@@ -63,7 +63,6 @@
     install_requires=[
         'setuptools',
         'ZODB3',
-        'zope.annotation',
         'zope.app.appsetup',
         'zope.datetime',
         'zope.component',

Modified: zope.session/trunk/src/zope/session/classes.zcml
===================================================================
--- zope.session/trunk/src/zope/session/classes.zcml	2009-03-15 07:35:53 UTC (rev 98118)
+++ zope.session/trunk/src/zope/session/classes.zcml	2009-03-15 11:39:12 UTC (rev 98119)
@@ -6,6 +6,10 @@
   </class>
 
   <class class=".http.CookieClientIdManager">
+    <implements
+        zcml:condition="installed zope.annotation"
+        interface="zope.annotation.interfaces.IAttributeAnnotatable"
+        />
     <require
         interface=".http.ICookieClientIdManager"
         permission="zope.Public"
@@ -25,6 +29,10 @@
   </class>
 
   <class class=".session.PersistentSessionDataContainer">
+    <implements
+        zcml:condition="installed zope.annotation"
+        interface="zope.annotation.interfaces.IAttributeAnnotatable"
+        />
     <require
         interface=".interfaces.ISessionDataContainer"
         permission="zope.Public"

Modified: zope.session/trunk/src/zope/session/http.py
===================================================================
--- zope.session/trunk/src/zope/session/http.py	2009-03-15 07:35:53 UTC (rev 98118)
+++ zope.session/trunk/src/zope/session/http.py	2009-03-15 11:39:12 UTC (rev 98119)
@@ -35,7 +35,6 @@
 from zope.interface import implements
 from zope.publisher.interfaces.http import IHTTPRequest
 from zope.publisher.interfaces.http import IHTTPApplicationRequest
-from zope.annotation.interfaces import IAttributeAnnotatable
 from zope.i18nmessageid import ZopeMessageFactory as _
 from zope.session.interfaces import IClientIdManager
 from zope.schema.fieldproperty import FieldProperty
@@ -127,7 +126,7 @@
 class CookieClientIdManager(zope.location.Location, Persistent):
     """Session utility implemented using cookies."""
 
-    implements(IClientIdManager, ICookieClientIdManager, IAttributeAnnotatable)
+    implements(IClientIdManager, ICookieClientIdManager)
 
     thirdparty = FieldProperty(ICookieClientIdManager['thirdparty'])
     cookieLifetime = FieldProperty(ICookieClientIdManager['cookieLifetime'])

Modified: zope.session/trunk/src/zope/session/session.py
===================================================================
--- zope.session/trunk/src/zope/session/session.py	2009-03-15 07:35:53 UTC (rev 98118)
+++ zope.session/trunk/src/zope/session/session.py	2009-03-15 11:39:12 UTC (rev 98119)
@@ -31,7 +31,6 @@
 import zope.interface
 from zope.component.interfaces import ComponentLookupError
 from zope.publisher.interfaces import IRequest
-from zope.annotation.interfaces import IAttributeAnnotatable
 
 from zope.session.interfaces import \
         IClientIdManager, IClientId, ISession, ISessionDataContainer, \
@@ -74,7 +73,7 @@
     IterableUserDict):
     """A SessionDataContainer that stores data in the ZODB"""
 
-    zope.interface.implements(ISessionDataContainer, IAttributeAnnotatable)
+    zope.interface.implements(ISessionDataContainer)
 
     _v_last_sweep = 0 # Epoch time sweep last run
 



More information about the Checkins mailing list