Skip to content

Instantly share code, notes, and snippets.

@jborg
Last active August 29, 2015 14:01
Show Gist options
  • Save jborg/93edaa92afa6d7ca815a to your computer and use it in GitHub Desktop.
Save jborg/93edaa92afa6d7ca815a to your computer and use it in GitHub Desktop.
diff --git a/attic/archive.py b/attic/archive.py
index e796d71..c55293c 100644
--- a/attic/archive.py
+++ b/attic/archive.py
@@ -1,3 +1,4 @@
+from binascii import hexlify
from datetime import datetime, timedelta, timezone
from getpass import getuser
from itertools import groupby
@@ -617,14 +618,21 @@ class ArchiveChecker:
continue
if state > 0:
unpacker.resync()
- for chunk_id, cdata in zip(items, repository.get_many(items)):
+ for i, (chunk_id, cdata) in enumerate(zip(items, repository.get_many(items))):
unpacker.feed(self.key.decrypt(chunk_id, cdata))
- for item in unpacker:
- yield item
+ try:
+ for item in unpacker:
+ yield item
+ except Exception:
+ self.report_progress('unpack of items chunk %r (%r) failed' % (hexlify(chunk_id), i))
+ raise
repository = cache_if_remote(self.repository)
num_archives = len(self.manifest.archives)
for i, (name, info) in enumerate(list(self.manifest.archives.items()), 1):
+ if name != 'servers-2014-05-17-092237':
+ self.report_progress('Skipping archive {} ({}/{})'.format(name, i, num_archives))
+ continue
self.report_progress('Analyzing archive {} ({}/{})'.format(name, i, num_archives))
archive_id = info[b'id']
if not archive_id in self.chunks:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment