summaryrefslogtreecommitdiff
path: root/trunk/src/equery
diff options
context:
space:
mode:
authorgenone <genone@gentoo.org>2004-01-23 02:51:09 +0000
committergenone <genone@gentoo.org>2004-01-23 02:51:09 +0000
commit600418b2d4314cfb6ae6ca210de944f7b9e3d9cf (patch)
tree7df4dd736ad680d967ed3c83d96e9857d0967201 /trunk/src/equery
parent3249f5abc4464d26baec2d0337e08462379b4609 (diff)
downloadgentoolkit-600418b2d4314cfb6ae6ca210de944f7b9e3d9cf.tar.gz
catch KeyError and ValueError thrown by portage on invalid/ambiguous package names
svn path=/; revision=68
Diffstat (limited to 'trunk/src/equery')
-rwxr-xr-xtrunk/src/equery/equery17
1 files changed, 16 insertions, 1 deletions
diff --git a/trunk/src/equery/equery b/trunk/src/equery/equery
index b991393..099bc33 100755
--- a/trunk/src/equery/equery
+++ b/trunk/src/equery/equery
@@ -920,7 +920,22 @@ def parseArgs(args):
if __name__ == "__main__":
(cmd, local_opts) = parseArgs(sys.argv[1:])
if cmd:
- cmd.perform(local_opts)
+ try:
+ cmd.perform(local_opts)
+ except KeyError, e:
+ print red("!!!"), "Invalid syntax: missing operator"
+ print red("!!!"), "If you want only specific versions please use one of"
+ print red("!!!"), "the following operators as prefix for the package name:"
+ print red("!!!"), " > >= = <= <"
+ print red("!!!"), "Example to only match gcc versions greater or equal 3.2:"
+ print red("!!!"), " >=sys-devel/gcc-3.2"
+ sys.exit(2)
+ except ValueError, epkg:
+ print red("!!!"), "Ambiguous package name \"%s\"" % query
+ print red("!!!"), "Please use one of the following long names:"
+ for p in epkg[0]:
+ print red("!!!"), " "+p
+ sys.exit(2)
else:
print "No command or unknown command given"
printUsage()