| Index: chrome/common/extensions/docs/server2/cron_servlet.py
|
| diff --git a/chrome/common/extensions/docs/server2/cron_servlet.py b/chrome/common/extensions/docs/server2/cron_servlet.py
|
| index 1051ba48c7ef0aad38c5d83457c2a4d3adaa51c6..24a62c92ac214eeec9da59e00dbb1cfa9e9eaba2 100644
|
| --- a/chrome/common/extensions/docs/server2/cron_servlet.py
|
| +++ b/chrome/common/extensions/docs/server2/cron_servlet.py
|
| @@ -15,7 +15,7 @@ from data_source_registry import CreateDataSources
|
| from empty_dir_file_system import EmptyDirFileSystem
|
| from file_system_util import CreateURLsFromPaths
|
| from github_file_system import GithubFileSystem
|
| -from host_file_system_creator import HostFileSystemCreator
|
| +from host_file_system_provider import HostFileSystemProvider
|
| from object_store_creator import ObjectStoreCreator
|
| from render_servlet import RenderServlet
|
| from server_instance import ServerInstance
|
| @@ -90,8 +90,11 @@ class CronServlet(Servlet):
|
| def CreateBranchUtility(self, object_store_creator):
|
| return BranchUtility.Create(object_store_creator)
|
|
|
| - def CreateHostFileSystemCreator(self, object_store_creator):
|
| - return HostFileSystemCreator(object_store_creator)
|
| + def CreateHostFileSystemProvider(self,
|
| + object_store_creator,
|
| + revision_for_trunk=None):
|
| + return HostFileSystemProvider(object_store_creator,
|
| + revision_for_trunk=revision_for_trunk)
|
|
|
| def CreateAppSamplesFileSystem(self, object_store_creator):
|
| # TODO(kalman): CachingFileSystem wrapper for GithubFileSystem, but it's
|
| @@ -133,6 +136,7 @@ class CronServlet(Servlet):
|
| # TODO(kalman): IMPORTANT. This sometimes throws an exception, breaking
|
| # everything. Need retry logic at the fetcher level.
|
| server_instance = self._GetSafeServerInstance()
|
| + trunk_fs = server_instance.host_file_system_provider.GetTrunk()
|
|
|
| def render(path):
|
| request = Request(path, self._request.host, self._request.headers)
|
| @@ -143,8 +147,7 @@ class CronServlet(Servlet):
|
| '''Requests every file found under |path| in this host file system, with
|
| a request prefix of |prefix|.
|
| '''
|
| - files = [name for name, _ in
|
| - CreateURLsFromPaths(server_instance.host_file_system, path, prefix)]
|
| + files = [name for name, _ in CreateURLsFromPaths(trunk_fs, path, prefix)]
|
| return _RequestEachItem(path, files, render)
|
|
|
| results = []
|
| @@ -170,8 +173,7 @@ class CronServlet(Servlet):
|
| # Fetch the zip file of each example (contains all the individual
|
| # files).
|
| example_zips = []
|
| - for root, _, files in server_instance.host_file_system.Walk(
|
| - svn_constants.EXAMPLES_PATH):
|
| + for root, _, files in trunk_fs.Walk(svn_constants.EXAMPLES_PATH):
|
| example_zips.extend(
|
| root + '.zip' for name in files if name == 'manifest.json')
|
| results.append(_RequestEachItem(
|
| @@ -227,9 +229,8 @@ class CronServlet(Servlet):
|
|
|
| app_yaml_handler = AppYamlHelper(
|
| svn_constants.APP_YAML_PATH,
|
| - server_instance_near_head.host_file_system,
|
| server_instance_near_head.object_store_creator,
|
| - server_instance_near_head.host_file_system_creator)
|
| + server_instance_near_head.host_file_system_provider)
|
|
|
| if app_yaml_handler.IsUpToDate(delegate.GetAppVersion()):
|
| return server_instance_near_head
|
| @@ -242,14 +243,16 @@ class CronServlet(Servlet):
|
| _cronlog.info('app version %s is out of date, safe is %s',
|
| delegate.GetAppVersion(), safe_revision)
|
|
|
| - return self._CreateServerInstance(safe_revision)
|
| + return self._CreateServerInstance(revision=safe_revision)
|
|
|
| def _GetMostRecentRevision(self):
|
| '''Gets the revision of the most recent patch submitted to the host file
|
| system. This is similar to HEAD but it's a concrete revision so won't
|
| change as the cron runs.
|
| '''
|
| - return self._CreateServerInstance(None).host_file_system.Stat('/').version
|
| + trunk_fs = (
|
| + self._CreateServerInstance(None).host_file_system_provider.GetTrunk())
|
| + return trunk_fs.Stat('/').version
|
|
|
| def _CreateServerInstance(self, revision):
|
| '''Creates a ServerInstance pinned to |revision|, or HEAD if None.
|
| @@ -258,17 +261,15 @@ class CronServlet(Servlet):
|
| '''
|
| object_store_creator = ObjectStoreCreator(start_empty=True)
|
| branch_utility = self._delegate.CreateBranchUtility(object_store_creator)
|
| - host_file_system_creator = self._delegate.CreateHostFileSystemCreator(
|
| - object_store_creator)
|
| - host_file_system = host_file_system_creator.Create(revision=revision)
|
| + host_file_system_provider = self._delegate.CreateHostFileSystemProvider(
|
| + object_store_creator, revision_for_trunk=revision)
|
| app_samples_file_system = self._delegate.CreateAppSamplesFileSystem(
|
| object_store_creator)
|
| compiled_host_fs_factory = CompiledFileSystem.Factory(
|
| - host_file_system,
|
| + host_file_system_provider.GetTrunk(),
|
| object_store_creator)
|
| return ServerInstance(object_store_creator,
|
| - host_file_system,
|
| app_samples_file_system,
|
| compiled_host_fs_factory,
|
| branch_utility,
|
| - host_file_system_creator)
|
| + host_file_system_provider)
|
|
|