diff options
| author | genone <genone@gentoo.org> | 2004-01-23 02:51:09 +0000 |
|---|---|---|
| committer | genone <genone@gentoo.org> | 2004-01-23 02:51:09 +0000 |
| commit | 600418b2d4314cfb6ae6ca210de944f7b9e3d9cf (patch) | |
| tree | 7df4dd736ad680d967ed3c83d96e9857d0967201 /trunk/src/equery | |
| parent | 3249f5abc4464d26baec2d0337e08462379b4609 (diff) | |
| download | gentoolkit-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-x | trunk/src/equery/equery | 17 |
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() |
