-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutil.py
37 lines (32 loc) · 1.12 KB
/
util.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from subprocess import Popen, call
import traceback, re
import logging
MODULE_LOGGER = logging.getLogger('prepare_data_construct_tree.util')
REGEX_VOID = re.compile(r"(\(|\)|:|,|}|{|'|/|]|\[|\\)")
REGEX_UNDERSCORE = re.compile(r"( |\|)")
REGEX_VOID_SUBST = ""
REGEX_UNDERSCORE_SUBST = "_"
def prepareNames(line):
line = REGEX_VOID.sub(REGEX_VOID_SUBST, line)
return REGEX_UNDERSCORE.sub(REGEX_UNDERSCORE_SUBST, line)
def runSubProcess(command):
try:
call(command, shell=True)
except OSError, osError:
MODULE_LOGGER.error("osError " + osError)
MODULE_LOGGER.error(traceback.print_exc())
except Exception, e:
MODULE_LOGGER.error(traceback.print_exc())
def runSubProcessWithCheck(command, processName):
try:
proc = Popen(command, shell=True)
status = proc.poll()
while status == None:
MODULE_LOGGER.info("Still runnig " + processName)
status = proc.poll()
MODULE_LOGGER.info("Seems like finished " + processName + " " + str(status))
except OSError, osError:
MODULE_LOGGER.error("osError " + osError)
MODULE_LOGGER.error(traceback.print_exc())
except Exception, e:
MODULE_LOGGER.error(traceback.print_exc())