[Checkins] SVN: five.customerize/trunk/ Fixed deprecation warnings for use of Globals. Avoid a dependency on zope.app.apidoc by copying over the getViews method - this removes the dependency on many zope.app packages.

Hanno Schlichting plone at hannosch.info
Wed Jan 14 05:30:22 EST 2009


Log message for revision 94733:
  Fixed deprecation warnings for use of Globals. Avoid a dependency on zope.app.apidoc by copying over the getViews method - this removes the dependency on many zope.app packages.
  

Changed:
  U   five.customerize/trunk/CHANGES.txt
  U   five.customerize/trunk/setup.py
  U   five.customerize/trunk/src/five/customerize/browser.py
  U   five.customerize/trunk/src/five/customerize/customerize.txt

-=-
Modified: five.customerize/trunk/CHANGES.txt
===================================================================
--- five.customerize/trunk/CHANGES.txt	2009-01-14 05:19:30 UTC (rev 94732)
+++ five.customerize/trunk/CHANGES.txt	2009-01-14 10:30:22 UTC (rev 94733)
@@ -4,9 +4,11 @@
 five.customerize 0.4 (unreleased)
 ---------------------------------
 
+Fixed deprecation warnings for use of Globals.
+
 Specify all package dependencies.
 
-Added missing dependencies on zope.app.apidoc.
+Avoid a dependency on zope.app.apidoc by copying over the getViews method.
 
 five.customerize 0.3 (2008/07/07)
 ---------------------------------

Modified: five.customerize/trunk/setup.py
===================================================================
--- five.customerize/trunk/setup.py	2009-01-14 05:19:30 UTC (rev 94732)
+++ five.customerize/trunk/setup.py	2009-01-14 10:30:22 UTC (rev 94733)
@@ -44,7 +44,6 @@
         'zope.testing',
         'zope.traversing',
         'zope.viewlet',
-        'zope.app.apidoc',
         'zope.app.component',
         'zope.app.container',
         'zope.app.pagetemplate',

Modified: five.customerize/trunk/src/five/customerize/browser.py
===================================================================
--- five.customerize/trunk/src/five/customerize/browser.py	2009-01-14 05:19:30 UTC (rev 94732)
+++ five.customerize/trunk/src/five/customerize/browser.py	2009-01-14 10:30:22 UTC (rev 94733)
@@ -6,19 +6,34 @@
 from Products.Five.browser import BrowserView
 
 from zope.interface import providedBy, Interface
+from zope.component import getGlobalSiteManager
 from zope.component import getMultiAdapter, getSiteManager
 from zope.component import getUtility, queryUtility
 from zope.dottedname.resolve import resolve
 from zope.interface.interfaces import IInterface
 from zope.schema.interfaces import IVocabularyFactory
+from zope.publisher.interfaces import IRequest
 from zope.publisher.interfaces.browser import IBrowserRequest
 from zope.traversing.browser import absoluteURL
-from zope.app.apidoc.presentation import getViews
 
 from five.customerize.zpt import TTWViewTemplate
 from five.customerize.interfaces import IViewTemplateContainer
 
 
+# This method was copied from zope.app.apidoc.presentation
+def getViews(iface, type=IRequest):
+    """Get all view registrations for a particular interface."""
+    gsm = getGlobalSiteManager()
+    for reg in gsm.registeredAdapters():
+        if (len(reg.required) > 0 and
+            reg.required[-1] is not None and
+            reg.required[-1].isOrExtends(type)):
+
+            for required_iface in reg.required[:-1]:
+                if required_iface is None or iface.isOrExtends(required_iface):
+                    yield reg
+
+
 def mangleAbsoluteFilename(filename):
     """
     Mangle an absolute filename when the file happens to be in a

Modified: five.customerize/trunk/src/five/customerize/customerize.txt
===================================================================
--- five.customerize/trunk/src/five/customerize/customerize.txt	2009-01-14 05:19:30 UTC (rev 94732)
+++ five.customerize/trunk/src/five/customerize/customerize.txt	2009-01-14 10:30:22 UTC (rev 94733)
@@ -225,7 +225,7 @@
   ...         return 'baz'
   >>> from Products.Five.browser.metaconfigure import makeClassForTemplate
   >>> from Products.Five.security import getSecurityInfo, protectClass
-  >>> from Globals import InitializeClass
+  >>> from App.class_init import InitializeClass
   >>> cdict = getSecurityInfo(TestView)
   >>> cdict['__name__'] = 'simpleview.html'
   >>> viewclass = makeClassForTemplate('testviewtemplate.pt', globals=globals(),



More information about the Checkins mailing list