summaryrefslogtreecommitdiffstats
path: root/bin/portageq
diff options
context:
space:
mode:
Diffstat (limited to 'bin/portageq')
-rwxr-xr-xbin/portageq22
1 files changed, 13 insertions, 9 deletions
diff --git a/bin/portageq b/bin/portageq
index 99bf49bc2..d97f08cb0 100755
--- a/bin/portageq
+++ b/bin/portageq
@@ -183,15 +183,6 @@ def match(argv):
sys.exit(2)
try:
print "\n".join(portage.db[argv[0]]["vartree"].dbapi.match(argv[1]))
- except ValueError, e:
- # Multiple matches thrown from cpv_expand
- pkgs = e.args[0]
- # An error has occurred so we writemsg to stderr and exit nonzero.
- portage.writemsg("The following packages available:\n", noiselevel=-1)
- for pkg in pkgs:
- portage.writemsg("* %s\n" % pkg, noiselevel=-1)
- portage.writemsg("\nPlease use a more specific atom.\n", noiselevel=-1)
- sys.exit(1)
except KeyError, e:
portage.writemsg("%s\n" % str(e), noiselevel=-1)
sys.exit(1)
@@ -389,6 +380,19 @@ def main():
except portage.exception.PermissionDenied, e:
sys.stderr.write("Permission denied: '%s'\n" % str(e))
sys.exit(e.errno)
+ except ValueError, e:
+ if not e.args or \
+ not hasattr(e.args[0], "__len__") or \
+ len(e.args[0]) < 2:
+ raise
+ # Multiple matches thrown from cpv_expand
+ pkgs = e.args[0]
+ # An error has occurred so we writemsg to stderr and exit nonzero.
+ portage.writemsg("The following packages available:\n", noiselevel=-1)
+ for pkg in pkgs:
+ portage.writemsg("* %s\n" % pkg, noiselevel=-1)
+ portage.writemsg("\nPlease use a more specific atom.\n", noiselevel=-1)
+ sys.exit(1)
main()