def main(): parser = argparse.ArgumentParser(prog="flux-jobspec") parser.add_argument("--format", choices=["json", "yaml"], default="json") subparsers = parser.add_subparsers() slurm_parser = get_slurm_common_parser() srun_parser = subparsers.add_parser( "srun", parents=[slurm_parser], help="subcommand for SLURM-style CLI arguments", formatter_class=util.help_formatter(), ) srun_parser.set_defaults(func=slurm_jobspec) args = parser.parse_args() if not args.command: # list is empty parser.error("command is required") sys.exit(1) jobspec = args.func(args) if args.format == "yaml": out = yaml.dump(jobspec) else: out = json.dumps(jobspec, ensure_ascii=False) print(out)
def parse_args(): try: ws_default = "{0.columns}x{0.lines}".format(os.get_terminal_size()) except OSError: ws_default = "80x25" format_list = ",".join(formats.keys()) parser = argparse.ArgumentParser( description="run command with a pty, log output to a file", formatter_class=util.help_formatter(), ) parser.add_argument( "-o", "--output", help="set output file. Default=stdout", default="-" ) parser.add_argument( "-n", "--no-output", help="redirect output to /dev/null", action="store_true" ) parser.add_argument( "-i", "--input", help="set an input file in asciicast format. " + "Use the special value 'none' to close stdin of pty immediately.", ) parser.add_argument("--stderr", help="redirect stderr of process") parser.add_argument( "-f", "--format", help=f"set output format ({format_list}). Default=raw", default="raw", ) parser.add_argument( "-w", "--window-size", metavar="WxH", help=f"set pty window size in WIDTHxHEIGHT (default is {ws_default})", default=ws_default, ) parser.add_argument( "--term", metavar="TERMINAL", help=f"set value of TERM variable for client (default xterm)", default="xterm", ) parser.add_argument( "-c", "--quit-char", metavar="C", help=f"Set the QUIT character (written to pty on SIGUSR1)", default="", ) parser.add_argument( "--line-buffer", help="Attempt to line buffer theoutput", action="store_true" ) parser.add_argument("COMMAND") parser.add_argument("ARGS", nargs=argparse.REMAINDER) return parser.parse_args()
def parse_args(): try: ws_default = "{0.columns}x{0.lines}".format(os.get_terminal_size()) except OSError: ws_default = "80x25" format_list = ",".join(formats.keys()) parser = argparse.ArgumentParser( description="run command with a pty, log output to a file", formatter_class=util.help_formatter(), ) parser.add_argument( "-o", "--output", help="set output file. Default=stdout", default="-" ) parser.add_argument( "-f", "--format", help=f"set output format ({format_list}). Default=raw", default="raw", ) parser.add_argument( "-w", "--window-size", metavar="WxH", help=f"set pty window size in WIDTHxHEIGHT (default is {ws_default})", default=ws_default, ) parser.add_argument( "-c", "--quit-char", metavar="C", help=f"Set the QUIT character (written to pty on SIGUSR1)", default="", ) parser.add_argument( "--line-buffer", help="Attempt to line buffer theoutput", action="store_true" ) parser.add_argument("COMMAND") parser.add_argument("ARGS", nargs=argparse.REMAINDER) return parser.parse_args()