From 67dcf43ac6cae90bd28beb40a9bac2ec17b206e3 Mon Sep 17 00:00:00 2001 From: Martin Zimmermann Date: Wed, 25 Dec 2013 11:46:55 +0100 Subject: [PATCH] fix IOError when piping wynaut-export to head(1) --- wynaut/export.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wynaut/export.py b/wynaut/export.py index 2f5b61a..ea248a9 100644 --- a/wynaut/export.py +++ b/wynaut/export.py @@ -49,14 +49,18 @@ def csv(db, threads=True, comments=False): fp.seek(0) for line in fp: - sys.stdout.write(line.encode("utf-8")) + try: + sys.stdout.write(line.encode("utf-8")) + sys.stdout.flush() + except IOError: # head(1) reads from stdout then closes it. + break def main(): parser = get_parser("export to various formats") parser.add_argument("-t", "--to", dest="type", choices=["csv"], - help="export format") + help="export format", required=True) group = parser.add_mutually_exclusive_group() group.add_argument("--threads", action="store_true",