| 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)} | |