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

Unified Diff: chrome/common/extensions/docs/server2/permissions_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/permissions_data_source.py
diff --git a/chrome/common/extensions/docs/server2/permissions_data_source.py b/chrome/common/extensions/docs/server2/permissions_data_source.py
index 7ee3056e14c9b556d1010b7300d45bbc59a058e7..072ec8c360f4cb75fefb1c0126130a4cfaefaa94 100644
--- a/chrome/common/extensions/docs/server2/permissions_data_source.py
+++ b/chrome/common/extensions/docs/server2/permissions_data_source.py
@@ -7,6 +7,7 @@ from operator import itemgetter
from data_source import DataSource
import features_utility as features
+from future import Gettable, Future
from svn_constants import PRIVATE_TEMPLATE_PATH
from third_party.json_schema_compiler.json_parse import Parse
@@ -50,38 +51,39 @@ class PermissionsDataSource(DataSource):
server_instance.host_file_system_provider.GetTrunk())
def _CreatePermissionsData(self):
- api_features = self._features_bundle.GetAPIFeatures()
- permission_features = self._features_bundle.GetPermissionFeatures()
+ api_features_future = self._features_bundle.GetAPIFeatures()
+ permission_features_future = self._features_bundle.GetPermissionFeatures()
+ def resolve():
+ permission_features = permission_features_future.Get()
+ _AddDependencyDescriptions(permission_features, api_features_future.Get())
- def filter_for_platform(permissions, platform):
- return _ListifyPermissions(features.Filtered(permissions, platform))
+ # Turn partial templates into descriptions, ensure anchors are set.
+ for permission in permission_features.values():
+ if not 'anchor' in permission:
+ permission['anchor'] = permission['name']
+ if 'partial' in permission:
+ permission['description'] = self._template_cache.GetFromFile('%s/%s' %
+ (PRIVATE_TEMPLATE_PATH, permission['partial'])).Get()
+ del permission['partial']
- _AddDependencyDescriptions(permission_features, api_features)
- # Turn partial templates into descriptions, ensure anchors are set.
- for permission in permission_features.values():
- if not 'anchor' in permission:
- permission['anchor'] = permission['name']
- if 'partial' in permission:
- permission['description'] = self._template_cache.GetFromFile('%s/%s' %
- (PRIVATE_TEMPLATE_PATH, permission['partial'])).Get()
- del permission['partial']
-
- return {
- 'declare_apps': filter_for_platform(permission_features, 'apps'),
- 'declare_extensions': filter_for_platform(
- permission_features, 'extensions')
- }
+ def filter_for_platform(permissions, platform):
+ return _ListifyPermissions(features.Filtered(permissions, platform))
+ return {
+ 'declare_apps': filter_for_platform(permission_features, 'apps'),
+ 'declare_extensions': filter_for_platform(
+ permission_features, 'extensions')
+ }
+ return Future(delegate=Gettable(resolve))
def _GetCachedPermissionsData(self):
data = self._object_store.Get('permissions_data').Get()
if data is None:
- data = self._CreatePermissionsData()
+ data = self._CreatePermissionsData().Get()
self._object_store.Set('permissions_data', data)
return data
def Cron(self):
- # TODO(kalman): Implement this.
- pass
+ return self._CreatePermissionsData()
def get(self, key):
return self._GetCachedPermissionsData().get(key)

Powered by Google App Engine
This is Rietveld 408576698