pw_env_setup: add username to CIPD ACL errors
Change-Id: Ia9d9ac396feae4f533f629aa3e7c76b4f3a8c736
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/13460
Reviewed-by: Paul Mathieu <paulmathieu@google.com>
Commit-Queue: Rob Mohr <mohrr@google.com>
diff --git a/pw_env_setup/py/pw_env_setup/cipd_setup/update.py b/pw_env_setup/py/pw_env_setup/cipd_setup/update.py
index 3196662..391512c 100755
--- a/pw_env_setup/py/pw_env_setup/cipd_setup/update.py
+++ b/pw_env_setup/py/pw_env_setup/cipd_setup/update.py
@@ -24,6 +24,7 @@
import argparse
import json
import os
+import re
import shutil
import subprocess
import sys
@@ -77,8 +78,15 @@
paths.append('/'.join(parts))
try:
- subprocess.check_output([cipd, 'auth-info'], stderr=subprocess.STDOUT)
+ output = subprocess.check_output([cipd, 'auth-info'],
+ stderr=subprocess.STDOUT).decode()
logged_in = True
+
+ username = None
+ match = re.search(r'Logged in as (\S*)\.', output)
+ if match:
+ username = match.group(1)
+
except subprocess.CalledProcessError:
logged_in = False
@@ -93,7 +101,11 @@
stderr('=' * 60)
stderr('ERROR: no access to CIPD path "{}"'.format(path))
if logged_in:
- stderr('Your account does not have access to this path')
+ username_part = ''
+ if username:
+ username_part = '({}) '.format(username)
+ stderr('Your account {}does not have access to this '
+ 'path'.format(username_part))
else:
stderr('Try logging in with this command:')
stderr()