From 65be96787c7c2114a955e437828a2984c0a9b142 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Tue, 30 Aug 2016 18:49:01 +0000 Subject: [PATCH] Work around Gitweb encoding in who-approves script The encoding applied by responses from Gitweb are buggy, and requests must be told to assume UTF-8 in the who-approves.py script before attempting to parse it with pyyaml. Change-Id: Icbabf582516a340849bd5ed9152a3ed9497d6419 --- tools/who-approves.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/who-approves.py b/tools/who-approves.py index fcc6adfe83..8e455b8d4e 100755 --- a/tools/who-approves.py +++ b/tools/who-approves.py @@ -57,7 +57,7 @@ # ... approvers.add(approver) # ... return(approvers) # ... -# >>> p = yaml.load(open('approvers.yaml')) +# >>> p = yaml.safe_load(open('approvers.yaml')) # >>> print('Total repos: %s' % len(p)) # Total repos: 751 # >>> print('Total approvers: %s' % len(get_approvers(p))) @@ -96,8 +96,9 @@ projects_file = ('gitweb?p=openstack/governance.git;a=blob_plain;' 'f=reference/projects.yaml;hb=%s') ref_name = 'refs/heads/master' aprv_pattern = 'label-Workflow = .*\.\.\+1 group (.*)' -projects = yaml.safe_load( - requests.get(gerrit_url + projects_file % ref_name).text) +projects = requests.get(gerrit_url + projects_file % ref_name) +projects.encoding = 'utf-8' # Workaround for Gitweb encoding +projects = yaml.safe_load(projects.text) repos_dump = json.loads(requests.get( gerrit_url + 'projects/?pp=0').text[4:]) all_groups = json.loads(requests.get(gerrit_url + 'a/groups/',