From 8b82b54ea066ac88fbcdb65d5d69e7bbba3c397f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 26 Nov 2005 03:01:51 +0000 Subject: handle EOFErrors when untarring git-svn-id: file:///home/lennart/svn/public/sse/trunk@68 5fbabb74-0606-0410-a5e4-b5cc6a42724e --- feed/sse_tar.py | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) (limited to 'feed/sse_tar.py') diff --git a/feed/sse_tar.py b/feed/sse_tar.py index b3d86e6..8a1a492 100755 --- a/feed/sse_tar.py +++ b/feed/sse_tar.py @@ -96,23 +96,14 @@ def uncompress_zip(archive, root, package_id, meta = {}): def uncompress_archive(archive, root, package_id, meta = {}): n = -1 - - try: - n = uncompress_tar(archive, root, package_id, meta) - except tarfile.TarError: + + try: try: + n = uncompress_tar(archive, root, package_id, meta) + except tarfile.TarError: n = uncompress_zip(archive, root, package_id, meta) - except zipfile.error: - print "WARNING: Unknown file format." - except IOError: - print "WARNING: Broken archive." - except IOError, e: - if e[0] == "CRC check failed": - print "WARNING: Broken archive." - else: - raise e - except zlib.error: - print "WARNING: Broken archive." + except (zipfile.error, zlib.error, EOFError, IOError), e: + print "WARNING: Broken archive: %s" % e return n -- cgit