[Checkins] SVN: zope.app.form/trunk/ Avoid the ``zope.app.basicskin`` dependency, by defining our own FormMacros.

Hanno Schlichting hannosch at hannosch.eu
Thu Dec 17 15:20:06 EST 2009


Log message for revision 106713:
  Avoid the ``zope.app.basicskin`` dependency, by defining our own FormMacros.
  

Changed:
  U   zope.app.form/trunk/CHANGES.txt
  U   zope.app.form/trunk/setup.py
  U   zope.app.form/trunk/src/zope/app/form/browser/macros.py

-=-
Modified: zope.app.form/trunk/CHANGES.txt
===================================================================
--- zope.app.form/trunk/CHANGES.txt	2009-12-17 20:05:16 UTC (rev 106712)
+++ zope.app.form/trunk/CHANGES.txt	2009-12-17 20:20:06 UTC (rev 106713)
@@ -2,12 +2,11 @@
 CHANGES
 =======
 
-3.9.1 (unreleased)
-==================
+3.10.0 (unreleased)
+===================
 
-- Nothing changed yet.
+- Avoid the ``zope.app.basicskin`` dependency, by defining our own FormMacros.
 
-
 3.9.0 (2009-10-08)
 ==================
 

Modified: zope.app.form/trunk/setup.py
===================================================================
--- zope.app.form/trunk/setup.py	2009-12-17 20:05:16 UTC (rev 106712)
+++ zope.app.form/trunk/setup.py	2009-12-17 20:20:06 UTC (rev 106713)
@@ -27,7 +27,7 @@
     return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
 
 setup(name='zope.app.form',
-      version = '3.9.1dev',
+      version = '3.10.0dev',
       author='Zope Corporation and Contributors',
       author_email='zope-dev at zope.org',
       description='The Original Zope 3 Form Framework',
@@ -88,7 +88,6 @@
           "zope.publisher",
           "zope.schema>=3.5.1dev",
           "zope.security",
-          "zope.app.basicskin",
           ],
       include_package_data = True,
       zip_safe = False,

Modified: zope.app.form/trunk/src/zope/app/form/browser/macros.py
===================================================================
--- zope.app.form/trunk/src/zope/app/form/browser/macros.py	2009-12-17 20:05:16 UTC (rev 106712)
+++ zope.app.form/trunk/src/zope/app/form/browser/macros.py	2009-12-17 20:20:06 UTC (rev 106713)
@@ -17,9 +17,31 @@
 """
 __docformat__ = 'restructuredtext'
 
-from zope.app.basicskin.standardmacros import StandardMacros
+from zope.component import getMultiAdapter
+from zope.interface import implements
+from zope.interface.common.mapping import IItemMapping
+from zope.publisher.browser import BrowserView
 
+class FormMacros(BrowserView):
+    implements(IItemMapping)
 
-class FormMacros(StandardMacros):
-    
     macro_pages = ('widget_macros', 'addform_macros')
+    aliases = {
+        'view': 'page',
+        'dialog': 'page',
+        'addingdialog': 'page'
+        }
+
+    def __getitem__(self, key):
+        key = self.aliases.get(key, key)
+        context = self.context
+        request = self.request
+        for name in self.macro_pages:
+            page = getMultiAdapter((context, request), name=name)
+            try:
+                v = page[key]
+            except KeyError:
+                pass
+            else:
+                return v
+        raise KeyError(key)



More information about the checkins mailing list