From 74a56a9c0f3f327c19c1d600df678405a1bcba58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 30 Apr 2021 11:06:59 +0200 Subject: [PATCH] add verbose output to checkout command --- .../projects/management/commands/checkout.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/scrutiny/projects/management/commands/checkout.py b/scrutiny/projects/management/commands/checkout.py index 8db060e..bdff368 100644 --- a/scrutiny/projects/management/commands/checkout.py +++ b/scrutiny/projects/management/commands/checkout.py @@ -10,7 +10,8 @@ from scrutiny.projects.models import Module class Command(BaseCommand): help = 'Create checkouts of modules' - def handle(self, *args, **options): + def handle(self, verbosity, *args, **options): + self.verbose = int(verbosity) > 1 checkouts_directory = os.path.join(settings.MEDIA_ROOT, 'src') if not os.path.exists(checkouts_directory): os.mkdir(checkouts_directory) @@ -21,18 +22,15 @@ class Command(BaseCommand): checkout_dir = os.path.join(checkouts_directory, module.name) - kws = {} - kws['stdout'] = subprocess.PIPE - kws['stderr'] = subprocess.STDOUT if not os.path.exists(checkout_dir): # full clone cmd = ['git', 'clone', module.repository_url, module.name] - kws['cwd'] = checkouts_directory + cwd = checkouts_directory else: # pull cmd = ['git', 'pull'] - kws['cwd'] = checkout_dir + cwd = checkout_dir - p = subprocess.Popen(cmd, **kws) - p.communicate() - p.wait() + if self.verbose: + print('- ' + module.name) + subprocess.run(cmd, capture_output=not (self.verbose), cwd=cwd)