From d1f031621d8058ad470ad3e7329f550b568eb6e2 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 24 Nov 2007 04:50:40 +0000 Subject: When binarytree.populate() finds missing metadata, specify which keys are missing so that the user has a clue about what is wrong. (trunk r8638). svn path=/main/branches/2.1.2/; revision=8639 --- pym/portage.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pym/portage.py b/pym/portage.py index 1dce3a1d0..3d5515148 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -7211,11 +7211,23 @@ class binarytree(object): mypkg = myfile[:-5] if not mycat or not mypf: #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") + 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