-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy patharg_utils.py
40 lines (37 loc) · 1004 Bytes
/
arg_utils.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
38
39
40
def parse_profile(profile):
kargs = {}
try:
for kv in profile.split(','):
k, v = kv.split('=')
kargs[k] = v
except ValueError:
# more informative error message
raise ValueError(
f"Failed to parse profile: {profile}. The expected format is:"
" \"key1=value1,key2=value2,[...]\""
)
return kargs
def parse_compare_directions(compare_directions):
direcs = []
try:
for direc in compare_directions.split(';'):
left, right = direc.split('-')
left, right = int(left), int(right)
direcs.append((left, right))
except ValueError:
# more informative error message
raise ValueError(
f"Failed to parse directions: {compare_directions}."
" The expected format is: \"left1-right1;left2-right2;[...]\""
)
return direcs
def parse_files(filenames):
files = []
for f in filenames.split(';'):
files.append(f)
return files
def parse_intfloat(s):
try:
return int(s)
except ValueError:
return float(s)