From f6ec88204b28e3c07eba062902884d331c45741f Mon Sep 17 00:00:00 2001 From: fuzzyray Date: Fri, 9 Mar 2007 04:05:19 +0000 Subject: Improved handling of KeyError in equery depends command (Bug #169929). svn path=/; revision=352 --- trunk/src/equery/equery | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'trunk/src') diff --git a/trunk/src/equery/equery b/trunk/src/equery/equery index 0acf7a2..ff80da5 100755 --- a/trunk/src/equery/equery +++ b/trunk/src/equery/equery @@ -1129,8 +1129,15 @@ class CmdListDepends(Command): # Find all packages matching the dependency depstr = dependency[0]+dependency[2] if not depstr in self.deppkgs: - depcpvs = map((lambda x: x.get_cpv()), gentoolkit.find_packages(depstr)) - self.deppkgs[depstr] = depcpvs + try: + depcpvs = map((lambda x: x.get_cpv()), gentoolkit.find_packages(depstr)) + self.deppkgs[depstr] = depcpvs + except KeyError, e: + print_warn("") + print_warn("Package: " + depstr + " contains invalid dependency specification.") + print_warn("Portage error: " + str(e)) + print_warn("") + continue else: depcpvs = self.deppkgs[depstr] for x in depcpvs: @@ -1741,7 +1748,7 @@ if __name__ == "__main__": print_error("") print_error("Note: The symbols > and < are used for redirection in the shell") print_error("and must be quoted if either one is used.") - + else: print_error("Internal portage error, terminating") if len(e[0]): -- cgit v1.2.3