[Zope3-checkins] CVS: Zope3/src/zope/proxy/context - __init__.py:1.6

Jim Fulton jim@zope.com
Fri, 18 Apr 2003 18:13:04 -0400


Update of /cvs-repository/Zope3/src/zope/proxy/context
In directory cvs.zope.org:/tmp/cvs-serv8556/src/zope/proxy/context

Modified Files:
	__init__.py 
Log Message:
In prepration for the upcoming interface changes, I added some
new functions for making interface assertions on instances.  

Rather than:

  class C:

     __class_implements__ = I1, I2

use:

  class C:

     classProvides(I1, I2)

rather than:

__implements__ = I1, I2

use:

moduleProvides(I1, I2)

rather than:

someinstance.__implements__ = I1, I2

use:

directlyProvides(I1, I2)

Note that interface assertions on persistent objects should be aboided
since the internal representation will change.

Continue to make assertions about the interfaces that class instances
implement the same way:

  class C:

     __implements__ = I1, I2


I also modified the core software to use the new spellings.



=== Zope3/src/zope/proxy/context/__init__.py 1.5 => 1.6 ===
--- Zope3/src/zope/proxy/context/__init__.py:1.5	Wed Apr  9 07:36:21 2003
+++ Zope3/src/zope/proxy/context/__init__.py	Fri Apr 18 18:12:33 2003
@@ -20,6 +20,7 @@
 """
 __metaclass__ = type
 
+from zope.interface import moduleProvides
 from zope.security.proxy import Proxy, getChecker, getObject
 from zope.proxy.context.wrapper import getobject, getdict
 from zope.proxy.context.wrapper import getcontext, getinnercontext
@@ -32,7 +33,7 @@
 import inspect
 from zope.proxy.interfaces.context import IContextWrapper
 
-__implements__ = IContextWrapper
+moduleProvides(IContextWrapper)
 
 def ContextWrapper(_ob, _parent, **kw):
     """Create a context wrapper around an object with data