dont fail hard if commnd fails
This commit is contained in:
@@ -156,10 +156,16 @@ def conf2top(top):
|
|||||||
print("Warning: Error opening", top["file"], file=sys.stderr)
|
print("Warning: Error opening", top["file"], file=sys.stderr)
|
||||||
|
|
||||||
if "command" in top:
|
if "command" in top:
|
||||||
body = subprocess.run(top["command"], shell=True, text=True, capture_output=True, check=args.allowfailcommand).stdout
|
try:
|
||||||
|
body = subprocess.run(top["command"], shell=True, text=True, capture_output=True, check=True).stdout
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
print(f"Warning: Command for '{top['title']}' returned non-zero exit code, output not used")
|
||||||
|
|
||||||
if "proto_command" in top:
|
if "proto_command" in top:
|
||||||
protostub = subprocess.run(top["proto_command"], shell=True, text=True, capture_output=True, check=args.allowfailcommand).stdout
|
try:
|
||||||
|
protostub = subprocess.run(top["proto_command"], shell=True, text=True, capture_output=True, check=True).stdout
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
print(f"Warning: Protocommand for '{top['title']}' returned non-zero exit code, output not used")
|
||||||
|
|
||||||
return Top(top["title"], sender, body, protostub)
|
return Top(top["title"], sender, body, protostub)
|
||||||
|
|
||||||
@@ -180,6 +186,8 @@ def do_imports(entry):
|
|||||||
result[key] = do_imports(value)
|
result[key] = do_imports(value)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
|
except OSError as e:
|
||||||
|
print(f"Warning: reading {key} yielded error {e}")
|
||||||
return result
|
return result
|
||||||
|
|
||||||
if isinstance(entry, list):
|
if isinstance(entry, list):
|
||||||
@@ -223,7 +231,6 @@ if __name__ == "__main__":
|
|||||||
parser.add_argument("--send-mm", action="store_true")
|
parser.add_argument("--send-mm", action="store_true")
|
||||||
parser.add_argument("--send-mail", action="store_true")
|
parser.add_argument("--send-mail", action="store_true")
|
||||||
parser.add_argument("--save", action="store_true")
|
parser.add_argument("--save", action="store_true")
|
||||||
parser.add_argument("--allowfailcommand", action="store_false")
|
|
||||||
parser.add_argument("--time")
|
parser.add_argument("--time")
|
||||||
parser.add_argument("--date")
|
parser.add_argument("--date")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|||||||
Reference in New Issue
Block a user