Source code for scripts.run

from . import cmd, document_parser
from argparse import ArgumentParser
import subprocess
import logging

[docs]def run(command, run_in='host'): """ Runs a command in the shell. Useful for sequences like wget a dataset, then unzip to another directory. You can just put the command in a yml file and call it here. You can run a sequence of commands easily by putting them one after the other in a .yml file and calling this script with the '-y' option. Args: command (str): Command to run """ logging.info(command) subprocess.run( [ f""" make run_in_{run_in} command="{command}" """ ], shell=True, )
[docs]@document_parser('run', 'scripts.run.run') def build_parser(): parser = ArgumentParser() parser.add_argument( '--command', required=True, type=str, help='Command to run.' ) parser.add_argument( '--run_in', required=False, default='host', type=str, help='Whether to run the command in the host or the container. Defaults to host.' ) return parser
if __name__ == "__main__": cmd(run, build_parser)