aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/toolkit.py29
1 files changed, 17 insertions, 12 deletions
diff --git a/src/toolkit.py b/src/toolkit.py
index fe752f4..5cfd5ee 100644
--- a/src/toolkit.py
+++ b/src/toolkit.py
@@ -31,22 +31,27 @@ def appendUppercase(lst):
return lst
+def hideCmdWin(func):
+ ''' Stops CMD window from appearing on Windows.
+ Adapted from here: http://code.activestate.com/recipes/409002/
+ '''
+ def decorator(func, commandList, **kwargs):
+ if sys.platform == 'win32':
+ startupinfo = subprocess.STARTUPINFO()
+ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
+ kwargs['startupinfo'] = startupinfo
+ return func(commandList, **kwargs)
+ return func
+
+
+@hideCmdWin
def checkOutput(commandList, **kwargs):
- return _subprocess(subprocess.check_output, commandList, **kwargs)
+ return subprocess.check_output(commandList, **kwargs)
+@hideCmdWin
def openPipe(commandList, **kwargs):
- return _subprocess(subprocess.Popen, commandList, **kwargs)
-
-
-def _subprocess(func, commandList, **kwargs):
- if sys.platform == 'win32':
- # Stop CMD window from appearing on Windows
- # http://code.activestate.com/recipes/409002/
- startupinfo = subprocess.STARTUPINFO()
- startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
- kwargs['startupinfo'] = startupinfo
- return func(commandList, shell=False, **kwargs)
+ return subprocess.Popen(commandList, **kwargs)
def disableWhenEncoding(func):