From c162c8ba44bce263a0824a4e57e62eb82e615547 Mon Sep 17 00:00:00 2001 From: Denis Lehmann Date: Sat, 18 Apr 2020 12:21:50 +0200 Subject: [PATCH] add postprocessing error handling --- spiderss.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/spiderss.py b/spiderss.py index 3335b51..f8b4fc7 100755 --- a/spiderss.py +++ b/spiderss.py @@ -129,10 +129,16 @@ def get_article_body(article, scrape): # Postprocess HTML def postprocess(text): - processor = subprocess.Popen(postprocessor.split(' '), stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.STDOUT) - output = processor.communicate(input = text.encode())[0].decode().strip() + try: + processor = subprocess.Popen(postprocessor.split(' '), stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE) + (output, err) = processor.communicate(input = text.encode()) + if err: + raise Exception(err.decode().strip()) + except Exception as e: + error(' while postprocessing: {}'.format(e)) + sys.exit(1) - return output + return output.decode().strip() # Get constructed article