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) |