def run(opts, args): """Run a script""" mojo = Mojo(**opts) # Parse CLI-given parameters params = {} for param in args.params: broken = param.split("=") params[broken[0]] = broken[1] resp = mojo.run(args.script, params) if mojo.auth and mojo.unauthorized: print("Authentication failed") else: print("Status Code: {}".format(resp.status_code)) print("Headers:") for header in resp.headers: print(" {}: {}".format(header, resp.headers[header])) j = resp.json() print("Script return code: {}".format(j['retcode'])) if "stderr" in j: print("Stderr:") if type(j["stderr"]) is unicode: print(j["stderr"]) else: for line in j["stderr"]: print(" {}".format(line)) if "stdout" in j: print("Stdout:") if type(j["stdout"]) is unicode: print(j["stdout"]) else: for line in j["stdout"]: print(" {}".format(line)) if "return_values" in j and len(j["return_values"]) > 0: print("Return Values:") for key in sorted(j["return_values"]): print(" {}: {}".format(key, j["return_values"][key]))