[Checkins] SVN: five.formlib/trunk/src/five/formlib/metaconfigure.py Switch out makeClass for type and makeClassForTemplate for SimpleViewClass for Zope trunk compatibility, with fallback to makeClassForTemplate for Zope 2.13.

Lawrence Rowe cvs-admin at zope.org
Tue Sep 4 21:07:30 UTC 2012


Log message for revision 127700:
  Switch out makeClass for type and makeClassForTemplate for SimpleViewClass for Zope trunk compatibility, with fallback to makeClassForTemplate for Zope 2.13.

Changed:
  U   five.formlib/trunk/src/five/formlib/metaconfigure.py

-=-
Modified: five.formlib/trunk/src/five/formlib/metaconfigure.py
===================================================================
--- five.formlib/trunk/src/five/formlib/metaconfigure.py	2012-09-04 18:21:05 UTC (rev 127699)
+++ five.formlib/trunk/src/five/formlib/metaconfigure.py	2012-09-04 21:07:23 UTC (rev 127700)
@@ -25,10 +25,12 @@
 from zope.browsermenu.metaconfigure import menuItemDirective
 from zope.publisher.interfaces.browser import IDefaultBrowserLayer
 
-from Products.Five.metaclass import makeClass
 from Products.Five.browser.pagetemplatefile import ZopeTwoPageTemplateFile
-from Products.Five.browser.metaconfigure import makeClassForTemplate
-
+try:
+    from Products.Five.browser.metaconfigure import SimpleViewClass
+except ImportError:
+    # Zope < 4
+    from Products.Five.browser.metaconfigure import makeClassForTemplate as SimpleViewClass
 from five.formlib import EditView, AddView
 
 _ = MessageFactory('zope')
@@ -37,7 +39,7 @@
 def EditViewFactory(name, schema, label, permission, layer,
                     template, default_template, bases, for_, fields,
                     fulledit_path=None, fulledit_label=None, menu=u''):
-    class_ = makeClassForTemplate(template, globals(), used_for=schema,
+    class_ = SimpleViewClass(template, globals(), used_for=schema,
                                   bases=bases)
     class_.schema = schema
     class_.label = label
@@ -67,7 +69,7 @@
 
     def _processWidgets(self):
         if self._widgets:
-            customWidgetsObject = makeClass(
+            customWidgetsObject = type(
                 'CustomWidgetsMixin', (Base,), self._widgets)
             self.bases = self.bases + (customWidgetsObject,)
 
@@ -100,7 +102,7 @@
                    fields, content_factory, arguments,
                    keyword_arguments, set_before_add, set_after_add,
                    menu=u''):
-    class_ = makeClassForTemplate(template, globals(), used_for=schema,
+    class_ = SimpleViewClass(template, globals(), used_for=schema,
                                   bases=bases)
 
     class_.schema = schema



More information about the checkins mailing list