| import sys | |
| import argbind | |
| from dac.utils import download | |
| from dac.utils.decode import decode | |
| from dac.utils.encode import encode | |
| STAGES = ["encode", "decode", "download"] | |
| def run(stage: str): | |
| """Run stages. | |
| Parameters | |
| ---------- | |
| stage : str | |
| Stage to run | |
| """ | |
| if stage not in STAGES: | |
| raise ValueError(f"Unknown command: {stage}. Allowed commands are {STAGES}") | |
| stage_fn = globals()[stage] | |
| if stage == "download": | |
| stage_fn() | |
| return | |
| stage_fn() | |
| if __name__ == "__main__": | |
| group = sys.argv.pop(1) | |
| args = argbind.parse_args(group=group) | |
| with argbind.scope(args): | |
| run(group) | |