#! /usr/bin/env python import argparse import sys import logging import subprocess logger = logging.getLogger(__name__) def main() -> int: # Handle program arguments ap = argparse.ArgumentParser(prog="basejump") ap.add_argument( "subcommand", help="The subcommand to run", choices=["init", "fetch", "discover"] ) ap.add_argument("arguments", nargs=argparse.REMAINDER) args = ap.parse_args() # Configure logging logging.basicConfig( level=logging.INFO, format="%(levelname)s: %(message)s", ) # Execute the appropriate subcommand real_command_name = f"basejump-{args.subcommand}" try: return subprocess.run([real_command_name] + args.arguments).returncode except FileNotFoundError: logger.error(f"Unknown subcommand: {args.subcommand}") logger.error(f"Could not find `{real_command_name}` in $PATH") return 1 if __name__ == "__main__": sys.exit(main())