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

Unified Diff: chrome/common/extensions/docs/server2/manifest_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/manifest_data_source.py
diff --git a/chrome/common/extensions/docs/server2/manifest_data_source.py b/chrome/common/extensions/docs/server2/manifest_data_source.py
index b5f77175b808fd7724e51633397b9569b54469f2..3b94f52e3a409a62b1fdc68aacc7bb4a600fef94 100644
--- a/chrome/common/extensions/docs/server2/manifest_data_source.py
+++ b/chrome/common/extensions/docs/server2/manifest_data_source.py
@@ -6,9 +6,10 @@ from copy import deepcopy
import json
from data_source import DataSource
-from features_utility import Filtered
from future import Future
from manifest_features import ConvertDottedKeysToNested
+from platform_util import GetPlatforms, PluralToSingular
+
def _ListifyAndSortDocs(features, app_name):
'''Convert a |feautres| dictionary, and all 'children' dictionaries, into
@@ -105,23 +106,26 @@ class ManifestDataSource(DataSource):
'''Provides access to the properties in manifest features.
'''
def __init__(self, server_instance, _):
- self._features_bundle = server_instance.features_bundle
+ self._platform_bundle = server_instance.platform_bundle
self._object_store = server_instance.object_store_creator.Create(
ManifestDataSource)
- def _CreateManifestData(self):
- future_manifest_features = self._features_bundle.GetManifestFeatures()
+ def _CreateManifestDataForPlatform(self, platform):
+ future_manifest_features = self._platform_bundle.GetFeaturesBundle(
+ platform).GetManifestFeatures()
def resolve():
manifest_features = future_manifest_features.Get()
- def for_templates(manifest_features, platform):
- return _AddLevelAnnotations(_ListifyAndSortDocs(
- ConvertDottedKeysToNested(
- deepcopy(Filtered(manifest_features, platform + 's'))),
- app_name=platform.capitalize()))
- return {
- 'apps': for_templates(manifest_features, 'app'),
- 'extensions': for_templates(manifest_features, 'extension')
- }
+ return _AddLevelAnnotations(_ListifyAndSortDocs(
+ ConvertDottedKeysToNested(deepcopy(manifest_features)),
+ app_name=PluralToSingular(platform).capitalize()))
+ return Future(callback=resolve)
+
+ def _CreateManifestData(self):
+ manifest_data_futures = dict((p, self._CreateManifestDataForPlatform(p))
+ for p in GetPlatforms())
+ def resolve():
+ return dict((platform, future.Get())
+ for platform, future in manifest_data_futures.iteritems())
return Future(callback=resolve)
def _GetCachedManifestData(self):

Powered by Google App Engine
This is Rietveld 408576698