| Index: chrome/common/extensions/docs/server2/instance_servlet.py
|
| diff --git a/chrome/common/extensions/docs/server2/instance_servlet.py b/chrome/common/extensions/docs/server2/instance_servlet.py
|
| index 11848f549ff31199cc8ad086bd9bedc296dd4854..6b8f1de92f41cb57fe55c8f4da237646f35a3f8f 100644
|
| --- a/chrome/common/extensions/docs/server2/instance_servlet.py
|
| +++ b/chrome/common/extensions/docs/server2/instance_servlet.py
|
| @@ -4,17 +4,15 @@
|
|
|
| from appengine_wrappers import IsDevServer
|
| from branch_utility import BranchUtility
|
| -from caching_file_system import CachingFileSystem
|
| from compiled_file_system import CompiledFileSystem
|
| from empty_dir_file_system import EmptyDirFileSystem
|
| from github_file_system import GithubFileSystem
|
| +from host_file_system_creator import HostFileSystemCreator
|
| +from subversion_file_system import SubversionFileSystem
|
| from third_party.json_schema_compiler.memoize import memoize
|
| -from offline_file_system import OfflineFileSystem
|
| from render_servlet import RenderServlet
|
| -from subversion_file_system import SubversionFileSystem
|
| from object_store_creator import ObjectStoreCreator
|
| from server_instance import ServerInstance
|
| -from servlet import Servlet
|
|
|
| class _OfflineRenderServletDelegate(RenderServlet.Delegate):
|
| '''AppEngine instances should never need to call out to SVN. That should only
|
| @@ -37,11 +35,14 @@ class _OfflineRenderServletDelegate(RenderServlet.Delegate):
|
| @memoize
|
| def CreateServerInstanceForChannel(self, channel):
|
| object_store_creator = ObjectStoreCreator(channel, start_empty=False)
|
| - branch = (self._delegate.CreateBranchUtility(object_store_creator)
|
| - .GetChannelInfo(channel).branch)
|
| - host_file_system = CachingFileSystem(
|
| - OfflineFileSystem(self._delegate.CreateHostFileSystemForBranch(branch)),
|
| - object_store_creator)
|
| + branch_utility = self._delegate.CreateBranchUtility(object_store_creator)
|
| + host_file_system_creator = HostFileSystemCreator(
|
| + branch_utility,
|
| + self._delegate.CreateHostFileSystem,
|
| + object_store_creator,
|
| + offline=True)
|
| + branch = branch_utility.GetChannelInfo(channel).branch
|
| + host_file_system = host_file_system_creator.CreateAtBranch(branch)
|
| app_samples_file_system = self._delegate.CreateAppSamplesFileSystem(
|
| object_store_creator)
|
| compiled_host_fs_factory = CompiledFileSystem.Factory(
|
| @@ -52,7 +53,9 @@ class _OfflineRenderServletDelegate(RenderServlet.Delegate):
|
| host_file_system,
|
| app_samples_file_system,
|
| '' if channel == 'stable' else '/%s' % channel,
|
| - compiled_host_fs_factory)
|
| + compiled_host_fs_factory,
|
| + branch_utility,
|
| + host_file_system_creator)
|
|
|
| class InstanceServlet(object):
|
| '''Servlet for running on normal AppEngine instances.
|
| @@ -65,15 +68,15 @@ class InstanceServlet(object):
|
| def CreateBranchUtility(self, object_store_creator):
|
| return BranchUtility.Create(object_store_creator)
|
|
|
| - def CreateHostFileSystemForBranch(self, branch):
|
| - return SubversionFileSystem.Create(branch)
|
| -
|
| def CreateAppSamplesFileSystem(self, object_store_creator):
|
| # TODO(kalman): OfflineServerInstance wrapper for GithubFileSystem, but
|
| # the cron job doesn't crawl the samples yet.
|
| return (EmptyDirFileSystem() if IsDevServer() else
|
| GithubFileSystem.Create(object_store_creator))
|
|
|
| + def CreateHostFileSystem(self, branch):
|
| + return SubversionFileSystem.Create(branch)
|
| +
|
| @staticmethod
|
| def GetConstructor(delegate_for_test=None):
|
| render_servlet_delegate = _OfflineRenderServletDelegate(
|
|
|