From b091134e70f1476fdbd544ce14fd41c1853770f8 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Fri, 26 Mar 1999 22:36:00 +0000 Subject: [PATCH] During display, if EPIPE is raised, it's probably because a pager was killed. Discard the error in that case, but propogate it otherwise. --- Tools/scripts/dutree.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Tools/scripts/dutree.py b/Tools/scripts/dutree.py index 3098f2b6210..5912382a215 100755 --- a/Tools/scripts/dutree.py +++ b/Tools/scripts/dutree.py @@ -1,7 +1,7 @@ #! /usr/bin/env python # Format du output in a tree shape -import os, string, sys +import os, string, sys, errno def main(): p = os.popen('du ' + string.join(sys.argv[1:]), 'r') @@ -16,7 +16,11 @@ def main(): if comps[0] == '': comps[0] = '/' if comps[len(comps)-1] == '': del comps[len(comps)-1] total, d = store(size, comps, total, d) - display(total, d) + try: + display(total, d) + except IOError, e: + if e.errno != errno.EPIPE: + raise def store(size, comps, total, d): if comps == []: @@ -52,4 +56,5 @@ def show(total, d, prefix): if d.has_key(key): show(tsub, d[key][1], psub) -main() +if __name__ == "__main__": + main()