[Checkins] SVN: zope.browsermenu/trunk/src/zope/browsermenu/ Rename "fields" submodule to "field" as it only contains one field.

Dan Korostelev nadako at gmail.com
Mon Aug 24 10:35:53 EDT 2009


Log message for revision 103152:
  Rename "fields" submodule to "field" as it only contains one field.

Changed:
  A   zope.browsermenu/trunk/src/zope/browsermenu/field.py
  D   zope.browsermenu/trunk/src/zope/browsermenu/fields.py
  U   zope.browsermenu/trunk/src/zope/browsermenu/metadirectives.py
  U   zope.browsermenu/trunk/src/zope/browsermenu/tests/test_fields.py

-=-
Copied: zope.browsermenu/trunk/src/zope/browsermenu/field.py (from rev 103151, zope.browsermenu/trunk/src/zope/browsermenu/fields.py)
===================================================================
--- zope.browsermenu/trunk/src/zope/browsermenu/field.py	                        (rev 0)
+++ zope.browsermenu/trunk/src/zope/browsermenu/field.py	2009-08-24 14:35:52 UTC (rev 103152)
@@ -0,0 +1,109 @@
+#############################################################################
+#
+# 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.
+#
+##############################################################################
+"""Menu field
+
+$Id: fields.py 100240 2009-05-22 16:33:41Z faassen $
+"""
+__docformat__ = 'restructuredtext'
+
+from zope.component import queryUtility
+from zope.component.interfaces import ComponentLookupError
+from zope.configuration.exceptions import ConfigurationError
+from zope.configuration.fields import GlobalObject
+from zope.schema import ValidationError
+
+from zope.browsermenu.interfaces import IMenuItemType
+
+
+class MenuField(GlobalObject):
+    r"""This fields represents a menu (item type).
+
+    Besides being able to look up the menu by importing it, we also try
+    to look up the name in the site manager.
+
+    >>> from zope.interface import directlyProvides
+    >>> from zope.interface.interface import InterfaceClass
+
+    >>> menu1 = InterfaceClass('menu1', (),
+    ...                        __doc__='Menu Item Type: menu1',
+    ...                        __module__='zope.app.menus')
+    >>> directlyProvides(menu1, IMenuItemType)
+
+    >>> menus = None
+    >>> class Resolver(object):
+    ...     def resolve(self, path):
+    ...         if path.startswith('zope.app.menus') and \
+    ...             hasattr(menus, 'menu1') or \
+    ...             path == 'zope.browsermenu.menus.menu1':
+    ...             return menu1
+    ...         raise ConfigurationError('menu1')
+
+    >>> field = MenuField()
+    >>> field = field.bind(Resolver())
+
+    Test 1: Import the menu
+    -----------------------
+
+    >>> field.fromUnicode('zope.browsermenu.menus.menu1') is menu1
+    True
+
+    Test 2: We have a shortcut name. Import the menu from `zope.app.menus1`.
+    ------------------------------------------------------------------------
+
+    >>> from types import ModuleType as module
+    >>> import sys
+    >>> menus = module('menus')
+    >>> old = sys.modules.get('zope.app.menus', None)
+    >>> sys.modules['zope.app.menus'] = menus
+    >>> setattr(menus, 'menu1', menu1)
+
+    >>> field.fromUnicode('menu1') is menu1
+    True
+
+    >>> if old is not None:
+    ...     sys.modules['zope.app.menus'] = old
+
+    Test 3: Get the menu from the Site Manager
+    ------------------------------------------
+    
+    >>> from zope.component import provideUtility
+    >>> provideUtility(menu1, IMenuItemType, 'menu1')
+
+    >>> field.fromUnicode('menu1') is menu1
+    True
+    """
+
+    def fromUnicode(self, u):
+        name = str(u.strip())
+
+        try:
+            value = queryUtility(IMenuItemType, name)
+        except ComponentLookupError:
+            # The component architecture is not up and running.
+            pass
+        else: 
+            if value is not None:
+                self.validate(value)
+                return value
+
+        try:
+            value = self.context.resolve('zope.app.menus.'+name)
+        except ConfigurationError, v:
+            try:
+                value = self.context.resolve(name)
+            except ConfigurationError, v:
+                raise ValidationError(v)
+        
+        self.validate(value)
+        return value

Deleted: zope.browsermenu/trunk/src/zope/browsermenu/fields.py
===================================================================
--- zope.browsermenu/trunk/src/zope/browsermenu/fields.py	2009-08-24 14:27:26 UTC (rev 103151)
+++ zope.browsermenu/trunk/src/zope/browsermenu/fields.py	2009-08-24 14:35:52 UTC (rev 103152)
@@ -1,109 +0,0 @@
-#############################################################################
-#
-# 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.
-#
-##############################################################################
-"""Browser-Presentation related Fields.
-
-$Id: fields.py 100240 2009-05-22 16:33:41Z faassen $
-"""
-__docformat__ = 'restructuredtext'
-
-from zope.component import queryUtility
-from zope.component.interfaces import ComponentLookupError
-from zope.configuration.exceptions import ConfigurationError
-from zope.configuration.fields import GlobalObject
-from zope.schema import ValidationError
-
-from zope.browsermenu.interfaces import IMenuItemType
-
-
-class MenuField(GlobalObject):
-    r"""This fields represents a menu (item type).
-
-    Besides being able to look up the menu by importing it, we also try
-    to look up the name in the site manager.
-
-    >>> from zope.interface import directlyProvides
-    >>> from zope.interface.interface import InterfaceClass
-
-    >>> menu1 = InterfaceClass('menu1', (),
-    ...                        __doc__='Menu Item Type: menu1',
-    ...                        __module__='zope.app.menus')
-    >>> directlyProvides(menu1, IMenuItemType)
-
-    >>> menus = None
-    >>> class Resolver(object):
-    ...     def resolve(self, path):
-    ...         if path.startswith('zope.app.menus') and \
-    ...             hasattr(menus, 'menu1') or \
-    ...             path == 'zope.browsermenu.menus.menu1':
-    ...             return menu1
-    ...         raise ConfigurationError('menu1')
-
-    >>> field = MenuField()
-    >>> field = field.bind(Resolver())
-
-    Test 1: Import the menu
-    -----------------------
-
-    >>> field.fromUnicode('zope.browsermenu.menus.menu1') is menu1
-    True
-
-    Test 2: We have a shortcut name. Import the menu from `zope.app.menus1`.
-    ------------------------------------------------------------------------
-
-    >>> from types import ModuleType as module
-    >>> import sys
-    >>> menus = module('menus')
-    >>> old = sys.modules.get('zope.app.menus', None)
-    >>> sys.modules['zope.app.menus'] = menus
-    >>> setattr(menus, 'menu1', menu1)
-
-    >>> field.fromUnicode('menu1') is menu1
-    True
-
-    >>> if old is not None:
-    ...     sys.modules['zope.app.menus'] = old
-
-    Test 3: Get the menu from the Site Manager
-    ------------------------------------------
-    
-    >>> from zope.component import provideUtility
-    >>> provideUtility(menu1, IMenuItemType, 'menu1')
-
-    >>> field.fromUnicode('menu1') is menu1
-    True
-    """
-
-    def fromUnicode(self, u):
-        name = str(u.strip())
-
-        try:
-            value = queryUtility(IMenuItemType, name)
-        except ComponentLookupError:
-            # The component architecture is not up and running.
-            pass
-        else: 
-            if value is not None:
-                self.validate(value)
-                return value
-
-        try:
-            value = self.context.resolve('zope.app.menus.'+name)
-        except ConfigurationError, v:
-            try:
-                value = self.context.resolve(name)
-            except ConfigurationError, v:
-                raise ValidationError(v)
-        
-        self.validate(value)
-        return value

Modified: zope.browsermenu/trunk/src/zope/browsermenu/metadirectives.py
===================================================================
--- zope.browsermenu/trunk/src/zope/browsermenu/metadirectives.py	2009-08-24 14:27:26 UTC (rev 103151)
+++ zope.browsermenu/trunk/src/zope/browsermenu/metadirectives.py	2009-08-24 14:35:52 UTC (rev 103152)
@@ -24,7 +24,7 @@
 from zope.security.zcml import Permission
 
 from zope.component.zcml import IBasicViewInformation
-from zope.browsermenu.fields import MenuField
+from zope.browsermenu.field import MenuField
 
 
 class IMenuDirective(Interface):

Modified: zope.browsermenu/trunk/src/zope/browsermenu/tests/test_fields.py
===================================================================
--- zope.browsermenu/trunk/src/zope/browsermenu/tests/test_fields.py	2009-08-24 14:27:26 UTC (rev 103151)
+++ zope.browsermenu/trunk/src/zope/browsermenu/tests/test_fields.py	2009-08-24 14:35:52 UTC (rev 103152)
@@ -20,7 +20,7 @@
 
 def test_suite():
     return unittest.TestSuite((
-        doctest.DocTestSuite('zope.browsermenu.fields',
+        doctest.DocTestSuite('zope.browsermenu.field',
                      setUp=lambda test:cleanup.setUp(),
                      tearDown=lambda test:cleanup.tearDown()),
         ))



More information about the Checkins mailing list