[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - fixed optional Products.CMFUid dependencies

Yvo Schubbe y.2011 at wcm-solutions.de
Mon Sep 26 04:26:06 EST 2011


Log message for revision 122943:
  - fixed optional Products.CMFUid dependencies

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/Favorite.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Portal.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/Favorite.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/Favorite.py	2011-09-26 08:51:44 UTC (rev 122942)
+++ Products.CMFDefault/trunk/Products/CMFDefault/Favorite.py	2011-09-26 09:26:06 UTC (rev 122943)
@@ -17,6 +17,7 @@
 
 from AccessControl.SecurityInfo import ClassSecurityInfo
 from Acquisition import aq_base
+from Acquisition import aq_get
 from App.class_init import InitializeClass
 from zope.component import adapter
 from zope.component import getUtility
@@ -70,6 +71,8 @@
         the unique id handler tool is available.
         """
         # check for unique id handler tool
+        if not PRODUCTS_CMFUID_INSTALLED:
+            return
         uidtool = queryUtility(IUniqueIdHandler)
         if uidtool is None:
             return
@@ -82,6 +85,8 @@
         the unique id handler tool is available.
         """
         # check for unique id handler tool
+        if not PRODUCTS_CMFUID_INSTALLED:
+            return
         uidtool = queryUtility(IUniqueIdHandler)
         if uidtool is None:
             return
@@ -156,7 +161,11 @@
             t=('', '') + tokens[2:]
             remote_url=urlparse.urlunparse(t)
         # if URL begins with site URL, remove site URL
-        portal_url = getUtility(IURLTool).getPortalPath()
+        utool = queryUtility(IURLTool)
+        if utool is None:
+            # fallback for bootstrap
+            utool = aq_get(self, 'portal_url', None)
+        portal_url = utool.getPortalPath()
         i = remote_url.find(portal_url)
         if i==0:
             remote_url=remote_url[len(portal_url):]

Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Portal.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Portal.py	2011-09-26 08:51:44 UTC (rev 122942)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Portal.py	2011-09-26 09:26:06 UTC (rev 122943)
@@ -52,11 +52,14 @@
 
         self.assertEqual(len(catalog), 0)
 
-    def test_MetadataCataloguing( self ):
+    def test_MetadataCataloguing(self):
         site = self.app.site
         catalog = site.portal_catalog
         ttool = site.portal_types
-        uidtool = queryUtility(IUniqueIdHandler)
+        if PRODUCTS_CMFUID_INSTALLED:
+            uidtool = queryUtility(IUniqueIdHandler)
+        else:
+            uidtool = None
 
         portal_types = [ x for x in ttool.listContentTypes()
                            if x not in ( 'Discussion Item'



More information about the checkins mailing list