34 lines
624 B
Python
Executable File
34 lines
624 B
Python
Executable File
|
|
|
|
def infer_type(x): # hacky way to infer type from string args
|
|
if not isinstance(x, str):
|
|
return x
|
|
|
|
try:
|
|
x = int(x)
|
|
return x
|
|
except ValueError:
|
|
pass
|
|
|
|
try:
|
|
x = float(x)
|
|
return x
|
|
except ValueError:
|
|
pass
|
|
|
|
return x
|
|
|
|
|
|
def parse_unknown(unknown_args):
|
|
clean = []
|
|
for a in unknown_args:
|
|
if "=" in a:
|
|
k, v = a.split("=")
|
|
clean.extend([k, v])
|
|
else:
|
|
clean.append(a)
|
|
|
|
keys = clean[::2]
|
|
values = clean[1::2]
|
|
return {k.replace("--", ""): infer_type(v) for k, v in zip(keys, values)}
|