[Erp5-report] r7380 - /erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon May 22 10:33:15 CEST 2006


Author: chris
Date: Mon May 22 10:33:12 2006
New Revision: 7380

URL: http://svn.erp5.org?rev=7380&view=rev
Log:
- added exception catching to clean tmp dir when it crashes (reported by Fabien)

Modified:
    erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py

Modified: erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py?rev=7380&r1=7379&r2=7380&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py (original)
+++ erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py Mon May 22 10:33:12 2006
@@ -45,9 +45,10 @@
 from tempfile import mktemp
 from shutil import copy
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5.Document.BusinessTemplate import removeAll
+from Products.ERP5.Document.BusinessTemplate import removeAll, TemplateConditionError
 from xml.sax.saxutils import escape
 from dircache import listdir
+from OFS.Traversable import NotFound
 
 try:
   from base64 import b64encode, b64decode
@@ -1040,12 +1041,17 @@
     bt.build()
     svn_path = self._getWorkingPath(self.getSubversionPath(bt) + os.sep)
     path = mktemp() + os.sep
-    bt.export(path=path, local=1)
-    # svn del deleted files
-    self.deleteOldFiles(svn_path, path, bt)
-    # add new files and copy
-    self.addNewFiles(svn_path, path, bt)
-    self.goToWorkingCopy(bt)
+    try:
+      bt.export(path=path, local=1)
+      # svn del deleted files
+      self.deleteOldFiles(svn_path, path, bt)
+      # add new files and copy
+      self.addNewFiles(svn_path, path, bt)
+      self.goToWorkingCopy(bt)
+    except (pysvn.ClientError, NotFound, AttributeError, AttributeError, Error), error:
+      # Clean up
+      self.activate().removeAllInList([path,])
+      raise error
     # Clean up
     self.activate().removeAllInList([path,])
     




More information about the Erp5-report mailing list