From: Torsten Werner Date: Tue, 12 Apr 2011 19:08:34 +0000 (+0200) Subject: Fix exception handling in process-new. X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5e62511336d16a4b1648b9b84b6b6d80e560c21;p=dak Fix exception handling in process-new. closes: #620361 Signed-off-by: Torsten Werner --- diff --git a/dak/process_new.py b/dak/process_new.py index e3716557..11e9bf48 100755 --- a/dak/process_new.py +++ b/dak/process_new.py @@ -337,33 +337,29 @@ def edit_overrides (new, upload, session): ################################################################################ def check_pkg (upload): + save_stdout = sys.stdout try: - less_fd = os.popen("less -R -", 'w', 0) - stdout_fd = sys.stdout - try: - sys.stdout = less_fd - changes = utils.parse_changes (upload.pkg.changes_file) - print examine_package.display_changes(changes['distribution'], upload.pkg.changes_file) - files = upload.pkg.files - for f in files.keys(): - if files[f].has_key("new"): - ftype = files[f]["type"] - if ftype == "deb": - print examine_package.check_deb(changes['distribution'], f) - elif ftype == "dsc": - print examine_package.check_dsc(changes['distribution'], f) - finally: - print examine_package.output_package_relations() - sys.stdout = stdout_fd + sys.stdout = os.popen("less -R -", 'w', 0) + changes = utils.parse_changes (upload.pkg.changes_file) + print examine_package.display_changes(changes['distribution'], upload.pkg.changes_file) + files = upload.pkg.files + for f in files.keys(): + if files[f].has_key("new"): + ftype = files[f]["type"] + if ftype == "deb": + print examine_package.check_deb(changes['distribution'], f) + elif ftype == "dsc": + print examine_package.check_dsc(changes['distribution'], f) + print examine_package.output_package_relations() except IOError, e: if e.errno == errno.EPIPE: utils.warn("[examine_package] Caught EPIPE; skipping.") - pass else: + sys.stdout = save_stdout raise except KeyboardInterrupt: utils.warn("[examine_package] Caught C-c; skipping.") - pass + sys.stdout = save_stdout ################################################################################