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