[Zope-Checkins] CVS: Zope3/lib/python/Interface/Common - Mapping.py:1.1.2.3 __init__.py:1.1.2.3

Jim Fulton jim@zope.com
Tue, 26 Mar 2002 16:26:23 -0500


Update of /cvs-repository/Zope3/lib/python/Interface/Common
In directory cvs.zope.org:/tmp/cvs-serv7731/Interface/Common

Added Files:
      Tag: Zope-3x-branch
	Mapping.py __init__.py 
Log Message:
Merged the publication refactoring branch into the main branch.

Also renamed:

  browser_reaverse -> publishTraverse

  browser_default -> browserDefault



=== Zope3/lib/python/Interface/Common/Mapping.py 1.1.2.2 => 1.1.2.3 ===
+#
+# 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.0 (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
+# 
+##############################################################################
+"""
+
+Revision information:
+$Id$
+"""
+
+from Interface import Interface
+
+class IReadMapping(Interface):
+    """Basic mapping interface
+    """
+
+    def __getitem__(key):
+        """Get a value for a key
+
+        A KeyError is raised if there is no value for the key.
+        """
+
+    def get(key, default=None):
+        """Get a value for a key
+
+        The default is returned if there is no value for the key.
+        """
+
+class IEnumerableMapping(IReadMapping):
+    """Mapping objects whose items can be enumerated
+    """
+
+    def keys():
+        """Return the keys of the mapping object
+        """
+
+    def values():
+        """Return the values of the mapping object
+        """
+
+    def items():
+        """Return the items of the mapping object
+        """
+
+    def __len__():
+        """Return the number of items
+        """


=== Zope3/lib/python/Interface/Common/__init__.py 1.1.2.2 => 1.1.2.3 ===