From 6006e0412d94045bc44344904b6d4f61d9ed9fc8 Mon Sep 17 00:00:00 2001
From: madsmpedersen <m@madsp.dk>
Date: Wed, 25 Nov 2015 15:26:15 +0100
Subject: [PATCH] two step process execution (1:create process, 2: execute) now
 posible

---
 wetb/functions/process_exec.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/wetb/functions/process_exec.py b/wetb/functions/process_exec.py
index 509459e..caeb497 100644
--- a/wetb/functions/process_exec.py
+++ b/wetb/functions/process_exec.py
@@ -5,6 +5,7 @@ Created on 10/03/2014
 '''
 
 import os
+import psutil
 
 DEBUG = False
 def pexec(args, cwd=None):
@@ -28,3 +29,26 @@ def pexec(args, cwd=None):
     errorcode = proc.returncode
 
     return errorcode, stdout.decode(), stderr.decode(), cmd
+
+
+def process(args, cwd=None):
+    import subprocess
+    if not isinstance(args, (list, tuple)):
+        args = [args]
+    args = [str(arg) for arg in args]
+    for i in range(len(args)):
+        if os.path.exists(args[i]):
+            args[i] = str(args[i]).replace('/', os.path.sep).replace('\\', os.path.sep).replace('"', '')
+
+    cmd = "%s" % '{} /c "{}"'.format (os.environ.get("COMSPEC", "cmd.exe"), subprocess.list2cmdline(args))
+    if cwd is not None and os.path.isfile(cwd):
+        cwd = os.path.dirname(cwd)
+    return subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False, cwd=cwd)
+
+def exec_process(process):
+    stdout, stderr = process.communicate()
+    errorcode = process.returncode
+
+    return errorcode, stdout.decode(), stderr.decode()
+
+
-- 
GitLab