From 4cf1e39d0b26f869441821ed2ebb386cc5bd9600 Mon Sep 17 00:00:00 2001 From: Luca Beltrame Date: Sun, 27 Jun 2021 08:58:20 +0200 Subject: [PATCH] Ensure it doesn't wait forever if invoked without data --- sysadmin/letsencrypt_mail.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sysadmin/letsencrypt_mail.py b/sysadmin/letsencrypt_mail.py index 8a6eb02..7e0412d 100755 --- a/sysadmin/letsencrypt_mail.py +++ b/sysadmin/letsencrypt_mail.py @@ -6,6 +6,8 @@ from enum import Enum import fileinput +import sys +import select import drymail # Vendored @@ -30,7 +32,13 @@ def main(): state = State.unknown text = list() + # https://stackoverflow.com/questions/33871836/find-out-if-there-is-input-from-a-pipe-or-not-in-python + if not select.select([sys.stdin], [], [], 0.0)[0]: + print("No input processed.") + sys.exit(1) + for line in fileinput.input(): + line = line.strip() text.append(line) @@ -51,6 +59,8 @@ def main(): text=text ) + + client = drymail.SMTPMailer( host='localhost')