[Zope3-checkins] SVN: Zope3/trunk/ Added a simple key reference implementation for testing.

Stephan Richter srichter at cosmos.phy.tufts.edu
Wed May 3 18:01:50 EDT 2006


Log message for revision 67937:
  Added a simple key reference implementation for testing.
  

Changed:
  U   Zope3/trunk/doc/CHANGES.txt
  A   Zope3/trunk/src/zope/app/keyreference/testing.py

-=-
Modified: Zope3/trunk/doc/CHANGES.txt
===================================================================
--- Zope3/trunk/doc/CHANGES.txt	2006-05-03 19:49:06 UTC (rev 67936)
+++ Zope3/trunk/doc/CHANGES.txt	2006-05-03 22:01:49 UTC (rev 67937)
@@ -10,6 +10,9 @@
 
     New features
 
+      - Added a simple Python id based implementation of IKeyReference for
+        testing.
+
       - Updated Docutils to V 0.4.0
 
       - Change the session credentials plugin to make it configurable

Added: Zope3/trunk/src/zope/app/keyreference/testing.py
===================================================================
--- Zope3/trunk/src/zope/app/keyreference/testing.py	2006-05-03 19:49:06 UTC (rev 67936)
+++ Zope3/trunk/src/zope/app/keyreference/testing.py	2006-05-03 22:01:49 UTC (rev 67937)
@@ -0,0 +1,43 @@
+##############################################################################
+#
+# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
+# 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.
+#
+##############################################################################
+"""Testing components
+
+$Id$
+"""
+import zope.interface
+import zope.component
+import zope.app.keyreference.interfaces
+
+class SimpleKeyReference(object):
+    """An IReference for all objects. This implementation is *not* ZODB safe.
+    """
+    zope.component.adapts(zope.interface.Interface)
+    zope.interface.implements(zope.app.keyreference.interfaces.IKeyReference)
+
+    key_type_id = 'zope.app.keyreference.simple'
+
+    def __init__(self, object):
+        self.object = object
+
+    def __call__(self):
+        return self.object
+
+    def __hash__(self):
+        return hash(self.object)
+
+    def __cmp__(self, other):
+        if self.key_type_id == other.key_type_id:
+            return cmp(hash(self.object), hash(other))
+
+        return cmp(self.key_type_id, other.key_type_id)


Property changes on: Zope3/trunk/src/zope/app/keyreference/testing.py
___________________________________________________________________
Name: svn:keywords
   + Id



More information about the Zope3-Checkins mailing list