[Erp5-report] r6480 - in /erp5/trunk/products/ERP5Subversion: ./ Tool/

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Apr 6 13:17:18 CEST 2006


Author: chris
Date: Thu Apr  6 13:17:16 2006
New Revision: 6480

URL: http://svn.erp5.org?rev=6480&view=rev
Log:
- used unical tmp dirs generated by tempfile.mktemp

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

Modified: erp5/trunk/products/ERP5Subversion/SubversionClient.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Subversion/SubversionClient.py?rev=6480&r1=6479&r2=6480&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Subversion/SubversionClient.py (original)
+++ erp5/trunk/products/ERP5Subversion/SubversionClient.py Thu Apr  6 13:17:16 2006
@@ -37,6 +37,7 @@
 from Products.ERP5Type import Permissions
 from Products.PythonScripts.Utility import allow_class
 from zLOG import LOG, WARNING
+from tempfile import mktemp
 
 try:
   import pysvn
@@ -257,8 +258,11 @@
     
     def diff(self, path):
       self._getPreferences()
-      os.system('mkdir -p /tmp/tmp-svn/')
-      return self.client.diff(tmp_path='/tmp/tmp-svn/', url_or_path=path, recurse=False)
+      tmp = mktemp()
+      os.system('mkdir -p %s'%tmp)
+      diff = self.client.diff(tmp_path=tmp, url_or_path=path, recurse=False)
+      os.system('rm -rf %s'%tmp)
+      return diff
     
     def revert(self, path):
       self._getPreferences()

Modified: erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py?rev=6480&r1=6479&r2=6480&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py (original)
+++ erp5/trunk/products/ERP5Subversion/Tool/SubversionTool.py Thu Apr  6 13:17:16 2006
@@ -42,6 +42,7 @@
 from zExceptions import Unauthorized
 from OFS.Image import manage_addFile
 from cStringIO import StringIO
+from tempfile import mktemp
 
 try:
   from base64 import b64encode, b64decode
@@ -83,6 +84,11 @@
   # - new_revision
 
   def __init__(self, raw_diff):
+    if '@@' not in raw_diff:
+      self.binary=True
+      return
+    else:
+      self.binary=False
     self.header = raw_diff.split('@@')[0][:-1]
     # Getting file path in header
     self.path = self.header.split('====')[0][:-1].strip()
@@ -124,6 +130,9 @@
     
   def toHTML(self):
     # Adding header of the table
+    if self.binary:
+      return '<b>Binary File!</b><br><br><br>'
+    
     html = '''
     <table style="text-align: left; width: 100%%;" border="0" cellpadding="0" cellspacing="0">
   <tbody>
@@ -577,8 +586,9 @@
           parent.sub_dirs.append(File(full_path, str(msg_status)))
     return somethingModified and root
   
-  def extractBT(self, bt, path):
-    os.system('rm -rf %s'%path)
+  def extractBT(self, bt):
+    path = mktemp()
+    #os.system('rm -rf %s'%path)
     bt.export(path=path, local=1)
     svn_path = self.getPortalObject().portal_preferences.getPreference('subversion_working_copy')
     if not svn_path :




More information about the Erp5-report mailing list