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

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

Issue 63203002: Docserver: Make the hand-written Cron methods run first rather than last, since (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: jeffrey Created 7 years, 1 month 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 ac4d99cfd94b6bea0dc467c3ca719c88f783a4b8..9daa5bbac7be0bbd8d18750249dac19c4126ed63 100644
--- a/chrome/common/extensions/docs/server2/manifest_data_source.py
+++ b/chrome/common/extensions/docs/server2/manifest_data_source.py
@@ -6,6 +6,7 @@ import json
from data_source import DataSource
import features_utility
+from future import Gettable, Future
from manifest_features import ConvertDottedKeysToNested
from third_party.json_schema_compiler.json_parse import Parse
@@ -105,27 +106,29 @@ class ManifestDataSource(DataSource):
ManifestDataSource)
def _CreateManifestData(self):
- def for_templates(manifest_features, platform):
- return _AddLevelAnnotations(
- _ListifyAndSortDocs(
- ConvertDottedKeysToNested(
- features_utility.Filtered(manifest_features, platform)),
- app_name=platform.capitalize()))
- manifest_features = self._features_bundle.GetManifestFeatures()
- return {
- 'apps': for_templates(manifest_features, 'apps'),
- 'extensions': for_templates(manifest_features, 'extensions')
- }
-
- def _GetCachedManifestData(self, force_update=False):
+ future_manifest_features = self._features_bundle.GetManifestFeatures()
+ def resolve():
+ manifest_features = future_manifest_features.Get()
+ def for_templates(manifest_features, platform):
+ return _AddLevelAnnotations(_ListifyAndSortDocs(
+ ConvertDottedKeysToNested(
+ features_utility.Filtered(manifest_features, platform)),
+ app_name=platform.capitalize()))
+ return {
+ 'apps': for_templates(manifest_features, 'apps'),
+ 'extensions': for_templates(manifest_features, 'extensions')
+ }
+ return Future(delegate=Gettable(resolve))
+
+ def _GetCachedManifestData(self):
data = self._object_store.Get('manifest_data').Get()
- if data is None or force_update:
- data = self._CreateManifestData()
+ if data is None:
+ data = self._CreateManifestData().Get()
self._object_store.Set('manifest_data', data)
return data
def Cron(self):
- self._GetCachedManifestData(force_update=True)
+ return self._CreateManifestData()
def get(self, key):
return self._GetCachedManifestData().get(key)

Powered by Google App Engine
This is Rietveld 408576698