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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
| from collections.abc import Sequence
| from distutils.util import strtobool as dist_strtobool
| import sys
|
| import numpy
|
|
| def strtobool(x):
| # distutils.util.strtobool returns integer, but it's confusing,
| return bool(dist_strtobool(x))
|
|
| def get_commandline_args():
| extra_chars = [
| " ",
| ";",
| "&",
| "(",
| ")",
| "|",
| "^",
| "<",
| ">",
| "?",
| "*",
| "[",
| "]",
| "$",
| "`",
| '"',
| "\\",
| "!",
| "{",
| "}",
| ]
|
| # Escape the extra characters for shell
| argv = [
| arg.replace("'", "'\\''")
| if all(char not in arg for char in extra_chars)
| else "'" + arg.replace("'", "'\\''") + "'"
| for arg in sys.argv
| ]
|
| return sys.executable + " " + " ".join(argv)
|
|
| def is_scipy_wav_style(value):
| # If Tuple[int, numpy.ndarray] or not
| return (
| isinstance(value, Sequence)
| and len(value) == 2
| and isinstance(value[0], int)
| and isinstance(value[1], numpy.ndarray)
| )
|
|
| def assert_scipy_wav_style(value):
| assert is_scipy_wav_style(
| value
| ), "Must be Tuple[int, numpy.ndarray], but got {}".format(
| type(value)
| if not isinstance(value, Sequence)
| else "{}[{}]".format(type(value), ", ".join(str(type(v)) for v in value))
| )
|
|