[Erp5-report] r17308 - /erp5/trunk/products/ERP5Catalog/CatalogTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Oct 31 11:33:51 CET 2007


Author: vincent
Date: Wed Oct 31 11:33:50 2007
New Revision: 17308

URL: http://svn.erp5.org?rev=17308&view=rev
Log:
Prevent catalog clear from failing when portal_ids table does not exist. Code structure taken from ZSQLCatalog/SQLCatalog.py:Catalog.clear() .

Modified:
    erp5/trunk/products/ERP5Catalog/CatalogTool.py

Modified: erp5/trunk/products/ERP5Catalog/CatalogTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Catalog/CatalogTool.py?rev=17308&r1=17307&r2=17308&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Catalog/CatalogTool.py (original)
+++ erp5/trunk/products/ERP5Catalog/CatalogTool.py Wed Oct 31 11:33:50 2007
@@ -604,10 +604,19 @@
       Clears the catalog by calling a list of methods
       """
       id_tool = self.getPortalObject().portal_ids
-      # Call generate new id in order to store the last id into
-      # the zodb
-      id_tool.generateNewLengthId(id_group='portal_activity')
-      id_tool.generateNewLengthId(id_group='portal_activity_queue')
+      try:
+        # Call generate new id in order to store the last id into
+        # the zodb
+        id_tool.generateNewLengthId(id_group='portal_activity')
+        id_tool.generateNewLengthId(id_group='portal_activity_queue')
+      except ConflictError:
+        raise
+      except:
+        # Swallow exceptions to allow catalog clear to happen.
+        # For example, is portal_ids table does not exist and exception will
+        # be thrown by portal_id methods.
+        LOG('ERP5Catalog.beforeCatalogClear', WARNING,
+            'beforeCatalogClear failed', error=sys.exc_info())
 
     security.declarePrivate('unrestrictedSearchResults')
     def unrestrictedSearchResults(self, REQUEST=None, **kw):




More information about the Erp5-report mailing list