]> granicus.if.org Git - python/commitdiff
Let pysetup list exit with a non-zero code when no result is found (#11409).
authorÉric Araujo <merwok@netwok.org>
Fri, 29 Jul 2011 00:20:39 +0000 (02:20 +0200)
committerÉric Araujo <merwok@netwok.org>
Fri, 29 Jul 2011 00:20:39 +0000 (02:20 +0200)
“pysetup list” or “pysetup list --all” will continue to return 0 if no
distribution is found (it’s not an error), but “pysetup list
some.project” will now exit with 1 if no matching installed distribution
is found.  Based on a patch by Kelsey Hightower.

Lib/packaging/run.py

index 3e720cf7e8e5423c02ed44bb19a7afbb253623e4..bcc3c218e30095c02880fb9b5f86d1dcdb5e2887 100644 (file)
@@ -358,8 +358,10 @@ def _list(dispatcher, args, **kw):
     dists = get_distributions(use_egg_info=True)
     if 'all' in opts or opts['args'] == []:
         results = dists
+        listall = True
     else:
         results = [d for d in dists if d.name.lower() in opts['args']]
+        listall = False
 
     number = 0
     for dist in results:
@@ -368,7 +370,11 @@ def _list(dispatcher, args, **kw):
 
     print()
     if number == 0:
-        print('Nothing seems to be installed.')
+        if listall:
+            print('Nothing seems to be installed.')
+        else:
+            print('No matching distribution found.')
+            return 1
     else:
         print('Found %d projects installed.' % number)