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

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

Issue 26418002: Docserver: Pull knowledge of host file systems into a single (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: correct similarity Created 7 years, 2 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/patch_servlet.py
diff --git a/chrome/common/extensions/docs/server2/patch_servlet.py b/chrome/common/extensions/docs/server2/patch_servlet.py
index 5680adc88876557b62f0efeb5f59c3f93605d27d..6bef0d8df46fc3dbcbb59d9e46b70ed80728fd44 100644
--- a/chrome/common/extensions/docs/server2/patch_servlet.py
+++ b/chrome/common/extensions/docs/server2/patch_servlet.py
@@ -12,7 +12,7 @@ from caching_file_system import CachingFileSystem
from caching_rietveld_patcher import CachingRietveldPatcher
from chained_compiled_file_system import ChainedCompiledFileSystem
from compiled_file_system import CompiledFileSystem
-from host_file_system_creator import HostFileSystemCreator
+from host_file_system_provider import HostFileSystemProvider
from instance_servlet import InstanceServlet
from render_servlet import RenderServlet
from rietveld_patcher import RietveldPatcher, RietveldPatcherError
@@ -29,40 +29,51 @@ class _PatchServletDelegate(RenderServlet.Delegate):
self._delegate = delegate
def CreateServerInstance(self):
- object_store_creator = ObjectStoreCreator(start_empty=False)
- branch_utility = self._delegate.CreateBranchUtility(object_store_creator)
- host_file_system_creator = self._delegate.CreateHostFileSystemCreator(
- object_store_creator)
- # offline=False because a patch can rely on files that are already in SVN
- # repository but not yet pulled into data store by cron jobs (a typical
+ # start_empty=False because a patch can rely on files that are already in
+ # SVN repository but not yet pulled into data store by cron jobs (a typical
# example is to add documentation for an existing API).
- base_file_system = CachingFileSystem(
- host_file_system_creator.Create(offline=False),
+ object_store_creator = ObjectStoreCreator(start_empty=False)
+
+ unpatched_host_file_system_provider = (
+ self._delegate.CreateHostFileSystemProvider(object_store_creator))
+ unpatched_trunk_host_file_system = (
+ unpatched_host_file_system_provider.GetTrunk())
+ unpatched_compiled_fs_factory = CompiledFileSystem.Factory(
+ unpatched_trunk_host_file_system,
object_store_creator)
- base_compiled_fs_factory = CompiledFileSystem.Factory(base_file_system,
- object_store_creator)
rietveld_patcher = CachingRietveldPatcher(
RietveldPatcher(svn_constants.EXTENSIONS_PATH,
self._issue,
AppEngineUrlFetcher(url_constants.CODEREVIEW_SERVER)),
object_store_creator)
- patched_file_system = PatchedFileSystem(base_file_system,
+
+ patched_file_system = PatchedFileSystem(unpatched_trunk_host_file_system,
rietveld_patcher)
+ patched_host_file_system_provider = (
+ self._delegate.CreateHostFileSystemProvider(
+ object_store_creator,
+ # The patched file system needs to be online otherwise it'd be
+ # impossible to add files in the patches.
+ offline=False,
+ # The trunk file system for this creator should be the patched one.
+ default_trunk_instance=patched_file_system))
patched_compiled_fs_factory = CompiledFileSystem.Factory(
- patched_file_system, object_store_creator)
+ patched_file_system,
+ object_store_creator)
- compiled_fs_factory = ChainedCompiledFileSystem.Factory(
+ combined_compiled_fs_factory = ChainedCompiledFileSystem.Factory(
[(patched_compiled_fs_factory, patched_file_system),
- (base_compiled_fs_factory, base_file_system)])
+ (unpatched_compiled_fs_factory, unpatched_trunk_host_file_system)])
+
+ branch_utility = self._delegate.CreateBranchUtility(object_store_creator)
return ServerInstance(object_store_creator,
- patched_file_system,
self._delegate.CreateAppSamplesFileSystem(
object_store_creator),
- compiled_fs_factory,
+ combined_compiled_fs_factory,
branch_utility,
- host_file_system_creator,
+ patched_host_file_system_provider,
base_path='/_patch/%s/' % self._issue)
class PatchServlet(Servlet):
« no previous file with comments | « chrome/common/extensions/docs/server2/instance_servlet.py ('k') | chrome/common/extensions/docs/server2/patch_servlet_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698