diff options
-rwxr-xr-x | feed/sse_tar.py | 21 |
1 files changed, 6 insertions, 15 deletions
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 |