From 5907704f1a969052b7adf6e955cc17f0684b378b Mon Sep 17 00:00:00 2001 From: Ze Libertine Gamer Date: Fri, 14 Oct 2016 05:01:25 -0700 Subject: Correct pipe-handling behavior --- vgstash | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/vgstash b/vgstash index 1196920..3ddd7ae 100755 --- a/vgstash +++ b/vgstash @@ -15,6 +15,13 @@ OWNERSHIP = 1 PROGRESS = 1 TABLE_WIDTH = 80 +def safe_print(line): + try: + print(line, flush=True) + # We're catching this in case the other end of a pipe exits early + except BrokenPipeError: + sys.stderr.close() + def set_env(): '''Ensures environment variables are respected. Sets defaults if they're not present. If the defaults are not usable, it throws an @@ -343,7 +350,8 @@ def row_format(args, header): ------------------------------------------------- 1234 | This is a title | Wii U VC | * | F I B C """ - print(" | ".join((gidstr, titlestr, systemstr, ownstr, statstr))) + safe_print(" | ".join((gidstr, titlestr, systemstr, ownstr, statstr))) + def main(): # Establish our important variables -- cgit v1.2.3-54-g00ecf