From 73c175f5a0a7e749357e74f518c89b716b7e34b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Araujo?= Date: Fri, 29 Jul 2011 02:20:39 +0200 Subject: [PATCH] Let pysetup list exit with a non-zero code when no result is found (#11409). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit “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 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Lib/packaging/run.py b/Lib/packaging/run.py index 3e720cf7e8e..bcc3c218e30 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)