190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206 | # OS shell command escaping
#
def quote(ins):
if type(ins) is list:
return " ".join([quote(s) for s in ins])
# Windows: double quotes / caret escaping
elif conf.windows:
if re.search(r"""[()<>&%!^'";\s]""", ins):
ins = '"%s"' % ins
ins = re.sub(r'([()<>"&%^])', r"^\1", ins)
return ins
else:
return subprocess.list2cmdline([ins])
# Posix-style shell quoting
else:
if re.match("^\w[\w.:/\-]+$", ins):
return ins |
|
|
| 190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206 | # OS shell command escaping
#
def quote(ins):
if type(ins) is list:
return " ".join([quote(s) for s in ins])
# Windows: double quotes / caret escaping
elif conf.windows:
if re.search(r"""[()<>&!^'";\s]""", ins):
ins = '"%s"' % ins
ins = re.sub(r'([()<>"&^])', r"^\1", ins)
return ins
else:
return subprocess.list2cmdline([ins])
# Posix-style shell quoting
else:
if re.match("^\w[\w.:/\-]+$", ins):
return ins |