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

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

Issue 379923013: Docserver: Don't spam when availability can't be found, because it's happening (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 from copy import copy 5 from copy import copy
6 import logging 6 import logging
7 import os 7 import os
8 import posixpath 8 import posixpath
9 9
10 from data_source import DataSource 10 from data_source import DataSource
11 from docs_server_utils import StringIdentity 11 from docs_server_utils import StringIdentity
12 from environment import IsPreviewServer 12 from environment import IsPreviewServer, IsReleaseServer
13 from extensions_paths import JSON_TEMPLATES, PRIVATE_TEMPLATES 13 from extensions_paths import JSON_TEMPLATES, PRIVATE_TEMPLATES
14 from file_system import FileNotFoundError 14 from file_system import FileNotFoundError
15 from future import Future, Collect 15 from future import Future, Collect
16 from platform_util import GetPlatforms 16 from platform_util import GetPlatforms
17 import third_party.json_schema_compiler.json_parse as json_parse 17 import third_party.json_schema_compiler.json_parse as json_parse
18 import third_party.json_schema_compiler.model as model 18 import third_party.json_schema_compiler.model as model
19 from environment import IsPreviewServer
20 from third_party.json_schema_compiler.memoize import memoize 19 from third_party.json_schema_compiler.memoize import memoize
21 20
22 21
23 # The set of possible categories a node may belong to. 22 # The set of possible categories a node may belong to.
24 _NODE_CATEGORIES = ('types', 'functions', 'events', 'properties') 23 _NODE_CATEGORIES = ('types', 'functions', 'events', 'properties')
25 24
26 25
27 def _CreateId(node, prefix): 26 def _CreateId(node, prefix):
28 if node.parent is not None and not isinstance(node.parent, model.Namespace): 27 if node.parent is not None and not isinstance(node.parent, model.Namespace):
29 return '-'.join([prefix, node.parent.simple_name, node.simple_name]) 28 return '-'.join([prefix, node.parent.simple_name, node.simple_name])
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 return 'properties' 210 return 'properties'
212 raise AssertionError('Could not classify node %s' % self) 211 raise AssertionError('Could not classify node %s' % self)
213 212
214 def GetAvailability(self): 213 def GetAvailability(self):
215 '''Returns availability information for this node. 214 '''Returns availability information for this node.
216 ''' 215 '''
217 if self._GetCategory() in self._ignored_categories: 216 if self._GetCategory() in self._ignored_categories:
218 return None 217 return None
219 node_availability = self._LookupAvailability(self._lookup_path) 218 node_availability = self._LookupAvailability(self._lookup_path)
220 if node_availability is None: 219 if node_availability is None:
221 logging.warning('No availability found for: %s' % self) 220 if not IsReleaseServer():
221 # Bad, and happens a lot :(
222 logging.warning('No availability found for: %s' % self)
222 return None 223 return None
223 224
224 parent_node_availability = self._LookupAvailability(self._GetParentPath()) 225 parent_node_availability = self._LookupAvailability(self._GetParentPath())
225 # If the parent node availability couldn't be found, something 226 # If the parent node availability couldn't be found, something
226 # is very wrong. 227 # is very wrong.
227 assert parent_node_availability is not None 228 assert parent_node_availability is not None
228 229
229 # Only render this node's availability if it differs from the parent 230 # Only render this node's availability if it differs from the parent
230 # node's availability. 231 # node's availability.
231 if node_availability == parent_node_availability: 232 if node_availability == parent_node_availability:
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
769 getter = lambda: 0 770 getter = lambda: 0
770 getter.get = lambda api_name: self._GetImpl(platform, api_name).Get() 771 getter.get = lambda api_name: self._GetImpl(platform, api_name).Get()
771 return getter 772 return getter
772 773
773 def Cron(self): 774 def Cron(self):
774 futures = [] 775 futures = []
775 for platform in GetPlatforms(): 776 for platform in GetPlatforms():
776 futures += [self._GetImpl(platform, name) 777 futures += [self._GetImpl(platform, name)
777 for name in self._platform_bundle.GetAPIModels(platform).GetNames()] 778 for name in self._platform_bundle.GetAPIModels(platform).GetNames()]
778 return Collect(futures, except_pass=FileNotFoundError) 779 return Collect(futures, except_pass=FileNotFoundError)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698