diff options
Diffstat (limited to 'chromium/docs/enterprise/extension_query_py2.py')
-rwxr-xr-x | chromium/docs/enterprise/extension_query_py2.py | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/chromium/docs/enterprise/extension_query_py2.py b/chromium/docs/enterprise/extension_query_py2.py index 73856278e65..2bf496b85e9 100755 --- a/chromium/docs/enterprise/extension_query_py2.py +++ b/chromium/docs/enterprise/extension_query_py2.py @@ -1,8 +1,7 @@ #!/usr/bin/env python -# Copyright (c) 2020 The Chromium Authors. All rights reserved. +# Copyright 2020 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. - """Transform CBCM Takeout API Data (Python2).""" from __future__ import print_function @@ -44,30 +43,25 @@ def ComputeExtensionsList(extensions_list, data): key = key + ' @ ' + extension['version'] if key not in extensions_list: current_extension = { - 'name': - extension['name'], - 'permissions': - extension['permissions'] - if 'permissions' in extension else '', - 'installed': - set(), - 'disabled': - set(), - 'forced': - set() + 'name': extension.get('name', ''), + 'permissions': extension.get('permissions', ''), + 'installed': set(), + 'disabled': set(), + 'forced': set() } else: current_extension = extensions_list[key] machine_name = device['machineName'] current_extension['installed'].add(machine_name) - if 'installType' in extension and extension['installType'] == 3: + if extension.get('installType', '') == 'ADMIN': current_extension['forced'].add(machine_name) - if 'disabled' in extension and extension['disabled']: + if extension.get('disabled', False): current_extension['disabled'].add(machine_name) extensions_list[key] = current_extension + def ToUtf8(data): """Ensures all the values in |data| are encoded as UTF-8. @@ -84,6 +78,7 @@ def ToUtf8(data): entry[prop] = unicode(value).encode('utf-8') yield entry + def DictToList(data, key_name='id'): """Converts a dict into a list. @@ -181,8 +176,17 @@ def main(args): browsers_processed = 0 while True: print('Making request to server ...') - data = json.loads( - http.request(base_request_url + '?' + request_parameters, 'GET')[1]) + retrycount = 0 + while retrycount < 5: + data = json.loads( + http.request(base_request_url + '?' + request_parameters, 'GET')[1]) + + if 'browsers' not in data: + print('Response error, retrying...') + time.sleep(3) + retrycount += 1 + else: + break browsers_in_data = len(data['browsers']) print('Request returned %s results, analyzing ...' % (browsers_in_data)) |