From: Éric Araujo Date: Fri, 29 Jul 2011 00:20:39 +0000 (+0200) Subject: Let pysetup list exit with a non-zero code when no result is found (#11409). X-Git-Tag: v3.3.0a1~1819^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=73c175f5a0a7e749357e74f518c89b716b7e34b2;p=python Let pysetup list exit with a non-zero code when no result is found (#11409). “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. --- diff --git a/Lib/packaging/run.py b/Lib/packaging/run.py index 3e720cf7e8..bcc3c218e3 100644 --- a/Lib/packaging/run.py +++ b/Lib/packaging/run.py @@ -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)