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

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

Issue 18323018: Linking AvailabilityFinder with APIDataSource and intro-table templates. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 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 collections 5 import collections
6 import os 6 import os
7 7
8 from branch_utility import BranchUtility 8 from branch_utility import BranchUtility
9 from compiled_file_system import CompiledFileSystem 9 from compiled_file_system import CompiledFileSystem
10 from file_system import FileNotFoundError 10 from file_system import FileNotFoundError
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 return version + 1 154 return version + 1
155 available = False 155 available = False
156 features_fs, names_fs = self._CreateFeaturesAndNamesFileSystems(version) 156 features_fs, names_fs = self._CreateFeaturesAndNamesFileSystems(version)
157 if version >= 28: 157 if version >= 28:
158 # The _api_features.json file first appears in version 28 and should be 158 # The _api_features.json file first appears in version 28 and should be
159 # the most reliable for finding API availabilities, so it gets checked 159 # the most reliable for finding API availabilities, so it gets checked
160 # first. The _permission_features.json and _manifest_features.json files 160 # first. The _permission_features.json and _manifest_features.json files
161 # are present in Chrome 20 and onwards. Fall back to a check for file 161 # are present in Chrome 20 and onwards. Fall back to a check for file
162 # system existence if the API is not stable in any of the _features.json 162 # system existence if the API is not stable in any of the _features.json
163 # files. 163 # files.
164 available = _GetChannelFromApiFeatures(api_name, features_fs) == _STABLE 164 available = _GetChannelFromApiFeatures(api_name, features_fs)
165 if version >= 20: 165 if version >= 20:
166 # Check other _features.json files/file existence if the API wasn't 166 # Check other _features.json files/file existence if the API wasn't
167 # found in _api_features.json, or if _api_features.json wasn't present. 167 # found in _api_features.json, or if _api_features.json wasn't present.
168 available = available or ( 168 available = available or (
169 _GetChannelFromPermissionFeatures(api_name, features_fs) == _STABLE 169 _GetChannelFromPermissionFeatures(api_name, features_fs)
170 or _GetChannelFromManifestFeatures(api_name, features_fs) == _STABLE 170 or _GetChannelFromManifestFeatures(api_name, features_fs))
171 or _ExistsInFileSystem(api_name, names_fs)) 171 if available is None:
172 available = _ExistsInFileSystem(api_name, names_fs)
173 else:
174 available = available == _STABLE
epeterson 2013/07/03 19:05:02 There was a bug here: file system existence was ch
not at google - send to devlin 2013/07/03 19:54:56 Cool, nice catch. But I don't like the way that a
epeterson 2013/07/09 20:51:18 Done. Also updated 'channel' to 'available_channel
172 elif version >= 18: 175 elif version >= 18:
173 # These versions are a little troublesome. Version 19 has 176 # These versions are a little troublesome. Version 19 has
174 # _permission_features.json, but it lacks 'channel' information. 177 # _permission_features.json, but it lacks 'channel' information.
175 # Version 18 lacks all of the _features.json files. For now, we're using 178 # Version 18 lacks all of the _features.json files. For now, we're using
176 # a simple check for filesystem existence here. 179 # a simple check for filesystem existence here.
177 available = _ExistsInFileSystem(api_name, names_fs) 180 available = _ExistsInFileSystem(api_name, names_fs)
178 elif version >= 5: 181 elif version >= 5:
179 # Versions 17 and down to 5 have an extension_api.json file which 182 # Versions 17 and down to 5 have an extension_api.json file which
180 # contains namespaces for each API that was available at the time. We 183 # contains namespaces for each API that was available at the time. We
181 # can use this file to check for API existence. 184 # can use this file to check for API existence.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 241
239 # If the API is in stable, find the chrome version in which it became 242 # If the API is in stable, find the chrome version in which it became
240 # stable. 243 # stable.
241 if availability.channel == _STABLE: 244 if availability.channel == _STABLE:
242 availability.version = self._FindEarliestStableAvailability( 245 availability.version = self._FindEarliestStableAvailability(
243 api_name, 246 api_name,
244 availability.version) 247 availability.version)
245 248
246 self._object_store.Set(api_name, availability) 249 self._object_store.Set(api_name, availability)
247 return availability 250 return availability
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698