[Checkins] SVN: zopyx.convert2/trunk/ - added environment variable ZOPYX_CONVERT_EXECUTE_METHOD to control the usage

Andreas Jung andreas at andreas-jung.com
Tue Jun 2 09:43:55 EDT 2009


Log message for revision 100587:
  
  - added environment variable ZOPYX_CONVERT_EXECUTE_METHOD to control the usage
    of the process module vs. os.system() (in case of hanging Java processes)
  
  

Changed:
  U   zopyx.convert2/trunk/CHANGES.txt
  U   zopyx.convert2/trunk/setup.py
  U   zopyx.convert2/trunk/src/zopyx/convert2/util.py

-=-
Modified: zopyx.convert2/trunk/CHANGES.txt
===================================================================
--- zopyx.convert2/trunk/CHANGES.txt	2009-06-02 12:11:06 UTC (rev 100586)
+++ zopyx.convert2/trunk/CHANGES.txt	2009-06-02 13:43:54 UTC (rev 100587)
@@ -1,3 +1,8 @@
+2.0.1 (2009-06-02)
+====================
+- added environment variable ZOPYX_CONVERT_EXECUTE_METHOD to control the usage
+  of the process module vs. os.system() (in case of hanging Java processes)
+
 2.0.0 (2009-05-14)
 ====================
 - final release

Modified: zopyx.convert2/trunk/setup.py
===================================================================
--- zopyx.convert2/trunk/setup.py	2009-06-02 12:11:06 UTC (rev 100586)
+++ zopyx.convert2/trunk/setup.py	2009-06-02 13:43:54 UTC (rev 100587)
@@ -12,7 +12,7 @@
     'Programming Language :: Python',
 ]
 
-version = '2.0.0'
+version = '2.0.1'
 
 desc = unicode(file('README.txt').read().strip(), 'utf-8')
 changes = file('CHANGES.txt').read().strip()

Modified: zopyx.convert2/trunk/src/zopyx/convert2/util.py
===================================================================
--- zopyx.convert2/trunk/src/zopyx/convert2/util.py	2009-06-02 12:11:06 UTC (rev 100586)
+++ zopyx.convert2/trunk/src/zopyx/convert2/util.py	2009-06-02 13:43:54 UTC (rev 100587)
@@ -12,6 +12,7 @@
 from logger import LOG
 
 win32 = (sys.platform=='win32')
+execute_mode = os.environ.get('ZOPYX_CONVERT_EXECUTE_MODE', 'process')
 
 
 def newTempfile(suffix=''):
@@ -27,28 +28,37 @@
         s.wait()
         return 0, ''
 
-    else:      
+    else:
 
-        stdin = open('/dev/null')
-        stdout = stderr = PIPE
-        p = Popen(cmd, 
-                  shell=True,
-                  stdin=stdin,
-                  stdout=stdout,
-                  stderr=stderr,
-                  )
+        if execute_mode == 'system':
+            status = os.system(cmd)
+            return status, ''
 
-        status = p.wait()
-        stdout_ = p.stdout.read().strip()
-        stderr_ = p.stderr.read().strip()
+        elif execute_mode == 'process':
 
-        if stdout_:
-            LOG.info(stdout_)
-        if stderr_:
-            LOG.info(stderr_)
-        return status, stdout_ + stderr_
+            stdin = open('/dev/null')
+            stdout = stderr = PIPE
+            p = Popen(cmd, 
+                      shell=True,
+                      stdin=stdin,
+                      stdout=stdout,
+                      stderr=stderr,
+                      )
 
+            status = p.wait()
+            stdout_ = p.stdout.read().strip()
+            stderr_ = p.stderr.read().strip()
 
+            if stdout_:
+                LOG.info(stdout_)
+            if stderr_:
+                LOG.info(stderr_)
+            return status, stdout_ + stderr_
+
+        else:
+            raise ValueError('Unknown value for $ZOPYX_CONVERT_EXECUTE_MODE')
+
+
 def checkEnvironment(envname):
     """ Check if the given name of an environment variable exists and
         if it points to an existing directory.



More information about the Checkins mailing list