diff --git a/softioc/__main__.py b/softioc/__main__.py index a091af43..b7c0069a 100644 --- a/softioc/__main__.py +++ b/softioc/__main__.py @@ -3,18 +3,23 @@ from argparse import ArgumentParser import subprocess -from softioc import __version__ +from . import __version__ def main(args=None): parser = ArgumentParser() parser.add_argument("--version", action="version", version=__version__) - parser.add_argument("script", help="The python script to run") + parser.add_argument( + "script", help="The python script to run", nargs="?", default=None) parser.add_argument( "arg", help="Any arguments to pass to the script", nargs="*") - parsed_args = parser.parse_args(args) - # Execute as subprocess - cmd = [sys.executable, parsed_args.script, *parsed_args.arg] + parsed_args, unknown = parser.parse_known_args(args) + + # Execute as subprocess. + cmd = [sys.executable] + parsed_args.arg + unknown + if parsed_args.script: + cmd.insert(1, parsed_args.script) + subprocess.Popen(cmd).communicate()