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 |additional_context| to inject additional template context when rendering the template. ''' assert isinstance(template, Motemplate), type(template) render_context = CreateDataSources(self._server_instance, request) if data_sources is not None: render_context = dict((name, d) for name, d in render_context.iteritems() if name in data_sources) render_context.update({ 'apps_samples_url': GITHUB_BASE, 'base_path': self._server_instance.base_path, 'extensions_samples_url': EXTENSIONS_SAMPLES, 'static': self._server_instance.base_path + 'static', }) render_context.update(additional_context or {}) render_data = template.Render(render_context) return render_data.text, render_data.errors
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 |additional_context| to inject additional template context when rendering the template. ''' assert isinstance(template, Handlebar), type(template) render_context = CreateDataSources(self._server_instance, request) if data_sources is not None: render_context = dict((name, d) for name, d in render_context.iteritems() if name in data_sources) render_context.update({ 'apps_samples_url': GITHUB_BASE, 'base_path': self._server_instance.base_path, 'extensions_samples_url': EXTENSIONS_SAMPLES, 'static': self._server_instance.base_path + 'static', }) render_context.update(additional_context or {}) render_data = template.Render(render_context) return render_data.text, render_data.errors
def UpdateCache(single_data_source=None, commit=None): '''Attempts to populate the datastore with a bunch of information derived from a given commit. ''' server_instance = _CreateServerInstance(commit) # This is the guy that would be responsible for refreshing the cache of # examples. Here for posterity, hopefully it will be added to the targets # below someday. # render_refresher = RenderRefresher(server_instance, self._request) data_sources = CreateDataSources(server_instance) data_sources['content_providers'] = server_instance.content_providers data_sources['platform_bundle'] = server_instance.platform_bundle if single_data_source: _UpdateDataSource(single_data_source, data_sources[single_data_source]) else: for name, source in data_sources.iteritems(): _UpdateDataSource(name, source)