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

Unified Diff: chrome/common/extensions/docs/server2/api_list_data_source.py

Issue 344453003: Docserver: separate models for apps and extensions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase/Add comment 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/docs/server2/api_list_data_source.py
diff --git a/chrome/common/extensions/docs/server2/api_list_data_source.py b/chrome/common/extensions/docs/server2/api_list_data_source.py
index a4fd118f5016bbc97f5108fe3aebf6202512b808..0a2c620721f0ce4248d6943880a6623b74c193bd 100644
--- a/chrome/common/extensions/docs/server2/api_list_data_source.py
+++ b/chrome/common/extensions/docs/server2/api_list_data_source.py
@@ -5,8 +5,9 @@
from data_source import DataSource
from future import Future
from operator import itemgetter
+from platform_util import GetPlatforms
-from docs_server_utils import MarkLast, StringIdentity
+from docs_server_utils import MarkLast
class APIListDataSource(DataSource):
""" This class creates a list of chrome.* APIs and chrome.experimental.* APIs
@@ -24,24 +25,12 @@ class APIListDataSource(DataSource):
values are present.
"""
def __init__(self, server_instance, _):
- self._features_bundle = server_instance.features_bundle
- self._api_models = server_instance.api_models
+ self._platform_bundle = server_instance.platform_bundle
self._object_store = server_instance.object_store_creator.Create(
# Update the model when the API or Features model updates.
- APIListDataSource,
- category=StringIdentity(self._features_bundle.GetIdentity(),
- self._api_models.GetIdentity()))
- self._api_categorizer = server_instance.api_categorizer
- self._availability_finder = server_instance.availability_finder
+ APIListDataSource, category=self._platform_bundle.GetIdentity())
def _GenerateAPIDict(self):
- def get_channel_info(api_name):
- return self._availability_finder.GetAPIAvailability(api_name).channel_info
-
- def get_api_platform(api_name):
- feature = self._features_bundle.GetAPIFeatures().Get()[api_name]
- return feature['platforms']
-
def make_dict_for_platform(platform):
platform_dict = {
'chrome': {'stable': [], 'beta': [], 'dev': [], 'trunk': []},
@@ -49,17 +38,20 @@ class APIListDataSource(DataSource):
private_apis = []
experimental_apis = []
all_apis = []
- for api_name, api_model in self._api_models.IterModels():
- if not self._api_categorizer.IsDocumented(platform, api_name):
+ for api_name, api_model in self._platform_bundle.GetAPIModels(
+ platform).IterModels():
+ if not self._platform_bundle.GetAPICategorizer(platform).IsDocumented(
+ api_name):
continue
api = {
'name': api_name,
'description': api_model.description,
- 'platforms': get_api_platform(api_name),
}
- category = self._api_categorizer.GetCategory(platform, api_name)
+ category = self._platform_bundle.GetAPICategorizer(
+ platform).GetCategory(api_name)
if category == 'chrome':
- channel_info = get_channel_info(api_name)
+ channel_info = self._platform_bundle.GetAvailabilityFinder(
+ platform).GetAPIAvailability(api_name).channel_info
channel = channel_info.channel
if channel == 'stable':
version = channel_info.version
@@ -85,10 +77,8 @@ class APIListDataSource(DataSource):
platform_dict[key] = apis
return platform_dict
- return {
- 'apps': make_dict_for_platform('apps'),
- 'extensions': make_dict_for_platform('extensions'),
- }
+ return dict((platform, make_dict_for_platform(platform))
+ for platform in GetPlatforms())
def _GetCachedAPIData(self):
data_future = self._object_store.Get('api_data')

Powered by Google App Engine
This is Rietveld 408576698