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

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

Issue 14856006: Docserver: achieve online vs offline (cron vs instance) behaviour at the object (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 8 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/local_renderer.py
diff --git a/chrome/common/extensions/docs/server2/local_renderer.py b/chrome/common/extensions/docs/server2/local_renderer.py
index 53ac33f0d61aca788bfc6269a31b5050ff98a948..c450b227f225f1b82debed869b4c31553811dd6f 100644
--- a/chrome/common/extensions/docs/server2/local_renderer.py
+++ b/chrome/common/extensions/docs/server2/local_renderer.py
@@ -5,8 +5,10 @@
import os
import urlparse
+from empty_dir_file_system import EmptyDirFileSystem
+from local_file_system import LocalFileSystem
from render_servlet import RenderServlet
-from fake_fetchers import ConfigureFakeFetchers
+from server_instance import ServerInstance
from servlet import Request
class LocalRenderer(object):
@@ -15,11 +17,19 @@ class LocalRenderer(object):
def __init__(self, base_dir):
self._base_dir = base_dir.replace(os.sep, '/').rstrip('/')
- def Render(self, path, headers=None, servlet=RenderServlet):
+ def Render(self, path, headers=None, offline=False, servlet=RenderServlet):
'''Renders |path|, returning a tuple of (status, contents, headers).
'''
headers = headers or {}
- # TODO(kalman): do this via a LocalFileSystem not this fake AppEngine stuff.
- ConfigureFakeFetchers(os.path.join(self._base_dir, 'docs'))
url_path = urlparse.urlparse(path.replace(os.sep, '/')).path
- return servlet(Request(url_path, headers)).Get()
+ if offline:
+ si = ServerInstance.CreateOffline(
+ 'trunk',
+ host_file_system_type=LocalFileSystem,
+ app_samples_file_system=EmptyDirFileSystem())
+ else:
+ si = ServerInstance.CreateOnline(
+ 'trunk',
+ host_file_system=LocalFileSystem(self._base_dir),
+ app_samples_file_system=EmptyDirFileSystem())
+ return servlet(Request(url_path, headers)).Get(server_instance=si)

Powered by Google App Engine
This is Rietveld 408576698