in dora/__main__.py [0:0]
def main():
parser = get_parser()
args = parser.parse_args()
setup_logging(args.verbose)
if args.action is None:
fatal("You must give an action.")
if args.package is None:
args.package = _find_package(args.main_module)
module_name = args.package + "." + args.main_module
sys.path.insert(0, str(Path(".").resolve()))
module = import_or_fatal(module_name)
try:
main = module.main
except AttributeError:
fatal(f"Could not find function `main` in {module_name}.")
if not isinstance(main, DecoratedMain):
fatal(f"{module_name}.main was not decorated with `dora.main`.")
if getattr(args, 'from_sig', None) is not None:
try:
argv = main.get_argv_from_sig(args.from_sig)
except RuntimeError:
fatal(f"Could not find an existing run with sig {args.from_sig}")
simple_log("Parser", "Injecting argv", argv, "from sig", args.from_sig)
args.argv = argv + args.argv
if getattr(args, 'git_save', None) is not None:
main.dora.git_save = args.git_save
args.action(args, main)