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

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

Issue 429723005: Docserver: Only fetch content versions in the crons, not their contents. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years, 3 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
« no previous file with comments | « no previous file | chrome/common/extensions/docs/server2/api_models.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 os 5 import os
6 import posixpath 6 import posixpath
7 7
8 from compiled_file_system import SingleFile 8 from compiled_file_system import SingleFile
9 from extensions_paths import PUBLIC_TEMPLATES 9 from extensions_paths import PUBLIC_TEMPLATES
10 10
11 11
12 class APICategorizer(object): 12 class APICategorizer(object):
13 ''' This class gets api category from documented apis. 13 ''' This class gets api category from documented apis.
14 ''' 14 '''
15 15
16 def __init__(self, file_system, compiled_fs_factory, platform): 16 def __init__(self, file_system, compiled_fs_factory, platform):
17 self._file_system = file_system 17 self._file_system = file_system
18 self._cache = compiled_fs_factory.Create(file_system, 18 self._cache = compiled_fs_factory.Create(file_system,
19 self._CollectDocumentedAPIs, 19 self._AllDocumentedAPIs,
20 APICategorizer) 20 APICategorizer)
21 self._platform = platform 21 self._platform = platform
22 22
23 def _GenerateAPICategories(self): 23 def _GenerateAPICategories(self):
24 return self._cache.GetFromFileListing( 24 return self._cache.GetFromFileListing(
25 posixpath.join(PUBLIC_TEMPLATES, self._platform) + '/').Get() 25 posixpath.join(PUBLIC_TEMPLATES, self._platform) + '/').Get()
26 26
27 @SingleFile 27 @SingleFile
28 def _CollectDocumentedAPIs(self, base_dir, files): 28 def _AllDocumentedAPIs(self, base_dir, files):
29 public_templates = [] 29 public_templates = []
30 for root, _, files in self._file_system.Walk(base_dir): 30 for root, _, files in self._file_system.Walk(base_dir):
31 public_templates.extend(posixpath.join(root, name) for name in files) 31 public_templates.extend(posixpath.join(root, name) for name in files)
32 template_names = set(os.path.splitext(name)[0].replace('_', '.') 32 template_names = set(os.path.splitext(name)[0].replace('_', '.')
33 for name in public_templates) 33 for name in public_templates)
34 return template_names 34 return template_names
35 35
36 def GetCategory(self, api_name): 36 def GetCategory(self, api_name):
37 '''Return the type of api.'Chrome' means the public apis, 37 '''Return the type of api.'Chrome' means the public apis,
38 private means the api only used by chrome, and experimental means 38 private means the api only used by chrome, and experimental means
39 the apis with "experimental" prefix. 39 the apis with "experimental" prefix.
40 ''' 40 '''
41 documented_apis = self._GenerateAPICategories() 41 documented_apis = self._GenerateAPICategories()
42 if (api_name.endswith('Private') or 42 if (api_name.endswith('Private') or
43 api_name not in documented_apis): 43 api_name not in documented_apis):
44 return 'private' 44 return 'private'
45 if api_name.startswith('experimental.'): 45 if api_name.startswith('experimental.'):
46 return 'experimental' 46 return 'experimental'
47 return 'chrome' 47 return 'chrome'
48 48
49 def IsDocumented(self, api_name): 49 def IsDocumented(self, api_name):
50 return (api_name in self._GenerateAPICategories()) 50 return (api_name in self._GenerateAPICategories())
OLDNEW
« no previous file with comments | « no previous file | chrome/common/extensions/docs/server2/api_models.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698