From ec62257fabc320237b42f7f74a4b73b75e9db972 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 24 Nov 2007 04:47:12 +0000 Subject: When binarytree.populate() finds missing metadata, specify which keys are missing so that the user has a clue about what is wrong. svn path=/main/trunk/; revision=8638 --- pym/portage/dbapi/bintree.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'pym') diff --git a/pym/portage/dbapi/bintree.py b/pym/portage/dbapi/bintree.py index 45cd80463..b354f9aee 100644 --- a/pym/portage/dbapi/bintree.py +++ b/pym/portage/dbapi/bintree.py @@ -465,11 +465,25 @@ class binarytree(object): mypkg = myfile[:-5] if not mycat or not mypf or not slot: #old-style or corrupt package - writemsg("!!! Invalid binary package: '%s'\n" % full_path, - noiselevel=-1) - writemsg("!!! This binary package is not " + \ - "recoverable and should be deleted.\n", + writemsg("\n!!! Invalid binary package: '%s'\n" % full_path, noiselevel=-1) + missing_keys = [] + if not mycat: + missing_keys.append("CATEGORY") + if not mypf: + missing_keys.append("PF") + if not slot: + missing_keys.append("SLOT") + msg = [] + if missing_keys: + missing_keys.sort() + msg.append("Missing metadata key(s): %s." % \ + ", ".join(missing_keys)) + msg.append(" This binary package is not " + \ + "recoverable and should be deleted.") + from textwrap import wrap + for line in wrap("".join(msg), 72): + writemsg("!!! %s\n" % line, noiselevel=-1) self.invalids.append(mypkg) continue mycat = mycat.strip() -- cgit v1.2.3-1-g7c22