From a796dbfe7b2adb4ad2fa2ee428d0400149151368 Mon Sep 17 00:00:00 2001
From: Simon Will <will@cl.uni-heidelberg.de>
Date: Thu, 27 Sep 2018 10:21:42 +0200
Subject: [PATCH] Print errors on stderr instead of stdout

---
 allzweckmesser/corpus.py            | 3 ++-
 allzweckmesser/dev.py               | 4 +++-
 scripts/extract_verses_by_meters.py | 4 +++-
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/allzweckmesser/corpus.py b/allzweckmesser/corpus.py
index 1e1ea8f..11d2b75 100644
--- a/allzweckmesser/corpus.py
+++ b/allzweckmesser/corpus.py
@@ -3,6 +3,7 @@
 import logging
 import re
 import os.path
+import sys
 import traceback
 
 from bs4 import BeautifulSoup
@@ -122,7 +123,7 @@ def reconstruct_verse_text_from_reading(reading):
             codepoints[token.span[0]:token.span[1]] = token.text
     except Exception:
         print('ERROR reconstructing verse from reading {!r}'
-              .format(reading))
+              .format(reading), file=sys.stderr)
         traceback.print_exc()
         codepoints = []
     return ''.join(codepoints)
diff --git a/allzweckmesser/dev.py b/allzweckmesser/dev.py
index a30108b..faf39cd 100644
--- a/allzweckmesser/dev.py
+++ b/allzweckmesser/dev.py
@@ -4,6 +4,7 @@
 import argparse
 import json
 import random
+import sys
 import traceback
 from typing import List
 
@@ -33,7 +34,8 @@ def dev(reference_verses, number=10, randomize=False) -> List[Verse]:
             analysis = scanner.scan_verses([unidecode(ref.text)])[0]
         except Exception:
             errors += 1
-            print('ERROR at verse {}'.format(ref.text))
+            print('ERROR at verse {}'.format(ref.text),
+                  file=sys.stderr)
             traceback.print_exc()
             continue
         all_analyses.append(analysis)
diff --git a/scripts/extract_verses_by_meters.py b/scripts/extract_verses_by_meters.py
index ca11d36..ec63c50 100644
--- a/scripts/extract_verses_by_meters.py
+++ b/scripts/extract_verses_by_meters.py
@@ -4,6 +4,7 @@
 import argparse
 import json
 import os
+import sys
 import traceback
 
 import allzweckmesser as azm
@@ -27,7 +28,8 @@ def main(hypotactic_dir, top_out_dir, meters=['hexameter']):
                               'w') as f:
                         json.dump(verses_for_meter, f)
         except Exception:
-            print('ERROR at document {}'.format(document.title))
+            print('ERROR at document {}'.format(document.title),
+                  file=sys.stdderr)
             traceback.print_exc()
 
 
-- 
GitLab