diff options
author | Tom de Vries <tom@codesourcery.com> | 2017-05-29 07:30:47 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2017-05-29 07:30:47 +0000 |
commit | 76baf5ca9d58cfde6c015cc1162c39a9aec60771 (patch) | |
tree | 7e2edfa01c1d873a8ca8ea1e274c69b9975aa149 /contrib | |
parent | bbe3927b62ae4318c5319da379642aafbf6d15be (diff) | |
download | gcc-76baf5ca9d58cfde6c015cc1162c39a9aec60771.zip gcc-76baf5ca9d58cfde6c015cc1162c39a9aec60771.tar.gz gcc-76baf5ca9d58cfde6c015cc1162c39a9aec60771.tar.bz2 |
check_GNU_style_lib.py: Suggest to install all missing pip3 packages at once
Instead of:
...
$ ./contrib/check_GNU_style.py
termcolor module is missing (run: pip3 install termcolor)
$ pip3 install termcolor
$ ./contrib/check_GNU_style.py
unidiff module is missing (run: pip3 install unidiff)
$ pip3 install unidiff
$
...
Do:
...
$ ./contrib/check_GNU_style.py
termcolor and unidiff modules are missing (run: pip3 install termcolor unidiff)
$ pip3 install termcolor unidiff
$
...
2017-05-29 Tom de Vries <tom@codesourcery.com>
* check_GNU_style_lib.py: Use import_pip3 to import pip3 packages.
(import_pip3): New function.
From-SVN: r248554
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/ChangeLog | 5 | ||||
-rwxr-xr-x | contrib/check_GNU_style_lib.py | 34 |
2 files changed, 28 insertions, 11 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog index ae0c246..5828508 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,8 @@ +2017-05-29 Tom de Vries <tom@codesourcery.com> + + * check_GNU_style_lib.py: Use import_pip3 to import pip3 packages. + (import_pip3): New function. + 2017-05-24 Tom de Vries <tom@codesourcery.com> * check_GNU_style_lib.py: New file, factored out of ... diff --git a/contrib/check_GNU_style_lib.py b/contrib/check_GNU_style_lib.py index a1224c11..d924e68 100755 --- a/contrib/check_GNU_style_lib.py +++ b/contrib/check_GNU_style_lib.py @@ -28,17 +28,29 @@ import sys import re import unittest -try: - from termcolor import colored -except ImportError: - print('termcolor module is missing (run: pip3 install termcolor)') - exit(3) - -try: - from unidiff import PatchSet -except ImportError: - print('unidiff module is missing (run: pip3 install unidiff)') - exit(3) +def import_pip3(*args): + missing=[] + for (module, names) in args: + try: + lib = __import__(module) + except ImportError: + missing.append(module) + continue + if not isinstance(names, list): + names=[names] + for name in names: + globals()[name]=getattr(lib, name) + if len(missing) > 0: + missing_and_sep = ' and '.join(missing) + missing_space_sep = ' '.join(missing) + print('%s %s missing (run: pip3 install %s)' + % (missing_and_sep, + ("module is" if len(missing) == 1 else "modules are"), + missing_space_sep)) + exit(3) + +import_pip3(('termcolor', 'colored'), + ('unidiff', 'PatchSet')) from itertools import * |