Index: chrome/common/extensions/docs/server2/template_renderer.py |
diff --git a/chrome/common/extensions/docs/server2/template_renderer.py b/chrome/common/extensions/docs/server2/template_renderer.py |
index 63b31acec1417b20026d468075e6fc619d41f15b..382c75d107b25272dd8edb2616d4b2774ccd4541 100644 |
--- a/chrome/common/extensions/docs/server2/template_renderer.py |
+++ b/chrome/common/extensions/docs/server2/template_renderer.py |
@@ -16,13 +16,18 @@ class TemplateRenderer(object): |
def __init__(self, server_instance): |
self._server_instance = server_instance |
- def Render(self, template, request, data_sources=None, warn=True): |
+ def Render(self, |
+ template, |
+ request, |
+ data_sources=None, |
+ additional_context=None): |
'''Renders |template| using |request|. |
+ |
Specify |data_sources| to only include the DataSources with the given names |
when rendering the template. |
- Specify |warn| whether to warn (e.g. logging.warning) if there are template |
- rendering errors. It may be useful to disable this when errors are expected, |
- for example when doing an initial page render to determine document title. |
+ |
+ Specify |additional_context| to inject additional template context when |
+ rendering the template. |
''' |
assert isinstance(template, Handlebar), type(template) |
render_context = self._CreateDataSources(request) |
@@ -35,11 +40,10 @@ class TemplateRenderer(object): |
'extensions_samples_url': EXTENSIONS_SAMPLES, |
'static': self._server_instance.base_path + 'static', |
}) |
+ if additional_context: |
+ render_context.update(additional_context) |
render_data = template.Render(render_context) |
- if warn and render_data.errors: |
- logging.error('Handlebar error(s) rendering %s:\n%s' % |
- (template._name, ' \n'.join(render_data.errors))) |
- return render_data.text |
+ return render_data.text, render_data.errors |
def _CreateDataSources(self, request): |
server_instance = self._server_instance |