summaryrefslogtreecommitdiff
path: root/chromium/docs/enterprise/extension_query_py2.py
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/docs/enterprise/extension_query_py2.py')
-rwxr-xr-xchromium/docs/enterprise/extension_query_py2.py38
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))