Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: chrome/common/extensions/docs/server2/branch_utility.py

Issue 314133004: Docserver: Use the testing URL for the new omahaproxy history API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import json 5 import json
6 import logging 6 import logging
7 import operator 7 import operator
8 8
9 from appengine_url_fetcher import AppEngineUrlFetcher 9 from appengine_url_fetcher import AppEngineUrlFetcher
10 import url_constants 10 import url_constants
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 version_json = json.loads(self._fetch_result.Get().content) 159 version_json = json.loads(self._fetch_result.Get().content)
160 except Exception as e: 160 except Exception as e:
161 # This can happen if omahaproxy is misbehaving, which we've seen before. 161 # This can happen if omahaproxy is misbehaving, which we've seen before.
162 # Quick hack fix: just serve from trunk until it's fixed. 162 # Quick hack fix: just serve from trunk until it's fixed.
163 logging.error('Failed to fetch or parse branch from omahaproxy: %s! ' 163 logging.error('Failed to fetch or parse branch from omahaproxy: %s! '
164 'Falling back to "trunk".' % e) 164 'Falling back to "trunk".' % e)
165 return 'trunk' 165 return 'trunk'
166 166
167 numbers = {} 167 numbers = {}
168 for entry in version_json: 168 for entry in version_json:
169 if entry['os'] not in ['win', 'linux', 'mac', 'cros']: 169 if entry['os'] not in ('win', 'linux', 'mac', 'cros'):
170 continue 170 continue
171 for version in entry['versions']: 171 for version in entry['versions']:
172 if version['channel'] != channel_name: 172 if version['channel'] != channel_name:
173 continue 173 continue
174 if data_type == 'branch': 174 if data_type == 'branch':
175 number = version['version'].split('.')[2] 175 number = version['version'].split('.')[2]
176 elif data_type == 'version': 176 elif data_type == 'version':
177 number = version['version'].split('.')[0] 177 number = version['version'].split('.')[0]
178 if number not in numbers: 178 if number not in numbers:
179 numbers[number] = 0 179 numbers[number] = 0
(...skipping 11 matching lines...) Expand all
191 data stored on omahaproxy (see url_constants). 191 data stored on omahaproxy (see url_constants).
192 ''' 192 '''
193 if version == 'trunk': 193 if version == 'trunk':
194 return 'trunk' 194 return 'trunk'
195 195
196 branch = self._branch_object_store.Get(str(version)).Get() 196 branch = self._branch_object_store.Get(str(version)).Get()
197 if branch is not None: 197 if branch is not None:
198 return branch 198 return branch
199 199
200 version_json = json.loads(self._history_result.Get().content) 200 version_json = json.loads(self._history_result.Get().content)
201 for entry in version_json['events']: 201 for entry in version_json:
202 # Here, entry['title'] looks like: '<title> - <version>.##.<branch>.##' 202 version_title = entry['version'].split('.')
203 version_title = entry['title'].split(' - ')[1].split('.')
204 if version_title[0] == str(version): 203 if version_title[0] == str(version):
205 self._branch_object_store.Set(str(version), version_title[2]) 204 self._branch_object_store.Set(str(version), version_title[2])
206 return version_title[2] 205 return version_title[2]
207 206
208 raise ValueError('The branch for %s could not be found.' % version) 207 raise ValueError('The branch for %s could not be found.' % version)
209 208
210 def GetChannelForVersion(self, version): 209 def GetChannelForVersion(self, version):
211 '''Returns the name of the development channel corresponding to a given 210 '''Returns the name of the development channel corresponding to a given
212 version number. 211 version number.
213 ''' 212 '''
214 for channel_info in self.GetAllChannelInfo(): 213 for channel_info in self.GetAllChannelInfo():
215 if channel_info.channel == 'stable' and version <= channel_info.version: 214 if channel_info.channel == 'stable' and version <= channel_info.version:
216 return channel_info.channel 215 return channel_info.channel
217 if version == channel_info.version: 216 if version == channel_info.version:
218 return channel_info.channel 217 return channel_info.channel
219 218
220 def GetLatestVersionNumber(self): 219 def GetLatestVersionNumber(self):
221 '''Returns the most recent version number found using data stored on 220 '''Returns the most recent version number found using data stored on
222 omahaproxy. 221 omahaproxy.
223 ''' 222 '''
224 latest_version = self._version_object_store.Get('latest').Get() 223 latest_version = self._version_object_store.Get('latest').Get()
225 if latest_version is not None: 224 if latest_version is not None:
226 return latest_version 225 return latest_version
227 226
228 version_json = json.loads(self._history_result.Get().content) 227 version_json = json.loads(self._history_result.Get().content)
229 latest_version = 0 228 latest_version = 0
230 for entry in version_json['events']: 229 for entry in version_json:
231 version_title = entry['title'].split(' - ')[1].split('.') 230 version_title = entry['version'].split('.')
232 version = int(version_title[0]) 231 version = int(version_title[0])
233 if version > latest_version: 232 if version > latest_version:
234 latest_version = version 233 latest_version = version
235 234
236 self._version_object_store.Set('latest', latest_version) 235 self._version_object_store.Set('latest', latest_version)
237 return latest_version 236 return latest_version
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/server2/app.yaml ('k') | chrome/common/extensions/docs/server2/branch_utility_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698