Index: globals/get_browser_versions.py |
diff --git a/globals/get_browser_versions.py b/globals/get_browser_versions.py |
index 1f8f0e1b454efb9c3eea31ccc6b54753d2f24761..b6ad67d446771121427783fb145de2ab08b783fa 100644 |
--- a/globals/get_browser_versions.py |
+++ b/globals/get_browser_versions.py |
@@ -15,21 +15,7 @@ BASE_URL = 'https://product-details.mozilla.org/1.0' |
FIREFOX_URL = BASE_URL + '/firefox_versions.json' |
THUNDERBIRD_URL = BASE_URL + '/thunderbird_versions.json' |
SEAMONKEY_URL = 'http://www.seamonkey-project.org/seamonkey_versions.json' |
- |
-CHROME_UPDATE_XML = '''\ |
-<?xml version="1.0" encoding="UTF-8"?> |
-<request protocol="3.0" ismachine="0"> |
- <os platform="win" version="99" arch="x64"/> |
- <app appid="{4DC8B4CA-1BDA-483E-B5FA-D3C12E15B62D}"> |
- <updatecheck/> |
- </app> |
- <app appid="{4DC8B4CA-1BDA-483E-B5FA-D3C12E15B62D}" ap="x64-beta-multi-chrome"> |
- <updatecheck/> |
- </app> |
- <app appid="{4DC8B4CA-1BDA-483E-B5FA-D3C12E15B62D}" ap="x64-dev-multi-chrome"> |
- <updatecheck/> |
- </app> |
-</request>''' |
+CHROME_URL = 'https://omahaproxy.appspot.com/all.json?os=win' |
cache = {} |
@@ -93,21 +79,25 @@ def get_seamonkey_versions(): |
BROWSERS['seamonkey'] = get_seamonkey_versions |
-def get_chrome_version(manifest): |
- return manifest.getAttribute('version').split('.')[0] |
+def get_chrome_version(version_info): |
+ return version_info['version'].split('.')[0] |
def get_chrome_versions(): |
- response = urllib.urlopen('https://tools.google.com/service/update2', CHROME_UPDATE_XML) |
+ response = urllib.urlopen(CHROME_URL) |
try: |
- doc = minidom.parse(response) |
+ data = json.load(response) |
finally: |
response.close() |
- manifests = doc.getElementsByTagName('manifest') |
+ channels = {x['channel']: x for x in data[0]['versions']} |
Sebastian Noack
2017/08/14 11:54:31
It seems the logic can be simplified. All data we
tlucas
2017/08/14 12:08:28
Done.
|
+ |
return { |
- 'current': get_chrome_version(manifests[0]), |
- 'unreleased': map(get_chrome_version, manifests[1:]) |
+ 'current': get_chrome_version(channels['stable']), |
+ 'unreleased': map( |
+ get_chrome_version, |
+ (channels['beta'], channels['dev']) |
+ ), |
} |
BROWSERS['chrome'] = get_chrome_versions |