| Left: | ||
| Right: |
| LEFT | RIGHT |
|---|---|
| 1 import re | 1 import re |
| 2 import os | 2 import os |
| 3 import sys | 3 import sys |
| 4 import json | 4 import json |
| 5 import urllib | 5 import urllib |
| 6 import errno | 6 import errno |
| 7 import logging | 7 import logging |
| 8 import time | 8 import time |
| 9 from xml.dom import minidom | 9 from xml.dom import minidom |
| 10 | 10 |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 125 get_opera_version('Developer') | 125 get_opera_version('Developer') |
| 126 ] | 126 ] |
| 127 } | 127 } |
| 128 | 128 |
| 129 BROWSERS['opera'] = get_opera_versions | 129 BROWSERS['opera'] = get_opera_versions |
| 130 | 130 |
| 131 def key_by_version(version): | 131 def key_by_version(version): |
| 132 return map(int, version.split('.')) | 132 return map(int, version.split('.')) |
| 133 | 133 |
| 134 def get_yandex_version_raw(suffix, params): | 134 def get_yandex_version_raw(suffix, params): |
| 135 response = urllib.urlopen('https://api.browser.yandex.ru/update-info/browser/y andex%s/win-yandex.xml' % (suffix, params)) | 135 response = urllib.urlopen('https://api.browser.yandex.ru/update-info/browser/y andex%s/win-yandex.xml%s' % (suffix, params)) |
|
Wladimir Palant
2015/06/03 17:11:36
If I'm not mistaken this should produce "not all a
Sebastian Noack
2015/06/03 17:42:31
Argh, you are right. I did test the change, but in
| |
| 136 try: | 136 try: |
| 137 doc = minidom.parse(response) | 137 doc = minidom.parse(response) |
| 138 finally: | 138 finally: |
| 139 response.close() | 139 response.close() |
| 140 | 140 |
| 141 item = doc.getElementsByTagName('item')[0] | 141 item = doc.getElementsByTagName('item')[0] |
| 142 description = item.getElementsByTagName('description')[0] | 142 description = item.getElementsByTagName('description')[0] |
| 143 return re.search(r'\d+\.\d+', description.firstChild.nodeValue).group(0) | 143 return re.search(r'\d+\.\d+', description.firstChild.nodeValue).group(0) |
| 144 | 144 |
| 145 def get_yandex_version(suffix=''): | 145 def get_yandex_version(suffix=''): |
| 146 return max( | 146 return max( |
| 147 [ | 147 get_yandex_version_raw(suffix, ''), |
| 148 get_yandex_version_raw(suffix, ''), | 148 get_yandex_version_raw(suffix, '?manual=yes'), |
| 149 get_yandex_version_raw(suffix, '?manual=yes'), | |
| 150 ], | |
| 151 key=key_by_version | 149 key=key_by_version |
| 152 ) | 150 ) |
| 153 | 151 |
| 154 def get_yandex_versions(): | 152 def get_yandex_versions(): |
| 155 return { | 153 return { |
| 156 'current': get_yandex_version(), | 154 'current': get_yandex_version(), |
| 157 'unreleased': [get_yandex_version('-beta')] | 155 'unreleased': [get_yandex_version('-beta')] |
| 158 } | 156 } |
| 159 | 157 |
| 160 BROWSERS['yandex'] = get_yandex_versions | 158 BROWSERS['yandex'] = get_yandex_versions |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 229 file.seek(0) | 227 file.seek(0) |
| 230 json.dump(persistent_cache, file) | 228 json.dump(persistent_cache, file) |
| 231 file.truncate() | 229 file.truncate() |
| 232 | 230 |
| 233 if not versions['previous']: | 231 if not versions['previous']: |
| 234 logging.warning("Couldn't determine previous browser version, " | 232 logging.warning("Couldn't determine previous browser version, " |
| 235 'please set %s.previous in %s', browser, filename) | 233 'please set %s.previous in %s', browser, filename) |
| 236 | 234 |
| 237 cache[browser] = versions | 235 cache[browser] = versions |
| 238 return versions | 236 return versions |
| LEFT | RIGHT |