aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2012-07-12 14:12:58 +0000
committerRob Austein <sra@hactrn.net>2012-07-12 14:12:58 +0000
commit12121997af0bbfabd1eb375d01bfb6e6b178451a (patch)
tree08dcf56881046818233de9085ac4d3291b602c70 /scripts
parentc16481cb659f5c846d4b16ed538c30b3b6f764bd (diff)
Use purportedly-human-readable strings instead of internal symbols
when listing what's wrong with particular objects. svn path=/trunk/; revision=4597
Diffstat (limited to 'scripts')
-rw-r--r--scripts/analyze-transition.py27
1 files changed, 17 insertions, 10 deletions
diff --git a/scripts/analyze-transition.py b/scripts/analyze-transition.py
index 88e034c1..ff82b9c8 100644
--- a/scripts/analyze-transition.py
+++ b/scripts/analyze-transition.py
@@ -27,10 +27,9 @@ except ImportError:
class Object(object):
- def __init__(self, session, uri, generation):
+ def __init__(self, session, uri):
self.session = session
self.uri = uri
- self.generation = generation
self.labels = []
def add(self, label):
@@ -40,7 +39,7 @@ class Object(object):
return cmp(self.labels, other.labels)
@property
- def valid(self):
+ def accepted(self):
return "object_accepted" in self.labels
class Session(dict):
@@ -53,15 +52,16 @@ class Session(dict):
self.descrs = dict(labels)
self.date = tree.getroot().get("date")
for elt in tree.findall("validation_status"):
- generation = elt.get("generation")
status = elt.get("status")
uri = elt.text.strip()
- if status.startswith("rsync_transfer_") or generation == "backup":
+ if status.startswith("rsync_transfer_") or elt.get("generation") != "current":
continue
if uri not in self:
- self[uri] = Object(self, uri, generation)
+ self[uri] = Object(self, uri)
self[uri].add(status)
+skip_labels = frozenset(("object_accepted", "object_rejected"))
+
old_db = new_db = None
for arg in sys.argv[1:]:
@@ -71,11 +71,18 @@ for arg in sys.argv[1:]:
if old_db is None:
continue
- for uri in sorted(set(old_db) - set(new_db)):
+ old_uris = frozenset(old_db)
+ new_uris = frozenset(new_db)
+
+ for uri in sorted(old_uris - new_uris):
print new_db.date, uri, "dropped"
- for uri in sorted(set(old_db) & set(new_db)):
+ for uri in sorted(old_uris & new_uris):
old = old_db[uri]
new = new_db[uri]
- if old.valid and not new.valid:
- print new_db.date, uri, "invalid", " ".join(sorted(set(new.labels) - set(old.labels) - set(("object_accepted", "object_rejected"))))
+ if old.accepted and not new.accepted:
+ print new_db.date, uri, "invalid"
+ labels = frozenset(new.labels) - frozenset(old.labels) - skip_labels
+ for label in new.labels:
+ if label in labels:
+ print " ", new_db.descrs[label]