import argparse import sys import typing as t sys.stdout.reconfigure(encoding='utf-8') sys.stderr.reconfigure(encoding='utf-8') """ Alas installer """ def run_install(): from deploy.installer import run run() def run_print_test(): from deploy.Windows.installer_test import run run() def run_set(modify=t.List[str]) -> t.Dict[str, str]: data = {} for kv in modify: if "=" in kv: key, value = kv.split('=', maxsplit=1) data[key] = value from deploy.set import config_set return config_set(data) if __name__ == "__main__": parser = argparse.ArgumentParser(description="Alas installer") parser.add_argument( "--print-test", help="To print example installer outputs instead of making an actual installation", action="store_true", ) parser.add_argument( "--set", help="Use key=value format to modify config/deploy.yaml\n" "Example: python installer.py --set Branch=dev", type=str, nargs="*", ) args, _ = parser.parse_known_args() if args.set: run_set(args.set) elif args.print_test: run_print_test() else: run_install()