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

Unified Diff: chrome/common/extensions/docs/server2/cron_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/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..df9c3766e1e13ad3eb00a1ecc4fde595dff4432c 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,
+ max_trunk_revision=None):
+ return HostFileSystemProvider(object_store_creator,
+ max_trunk_revision=max_trunk_revision)
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
@@ -249,7 +250,9 @@ class CronServlet(Servlet):
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
+ head_fs = (
+ self._CreateServerInstance(None).host_file_system_provider.GetTrunk())
+ return head_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, max_trunk_revision=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)
« no previous file with comments | « chrome/common/extensions/docs/server2/cron.yaml ('k') | chrome/common/extensions/docs/server2/cron_servlet_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698