def _generate_display_html(template_renderer, xsrf, app_context, visualizations): # Package-protected: pylint: disable=protected-access # First, load jobs for all generators required for an visualization. # Jobs may directly contain small results, just hold references to # larger results, or both. any_generator_not_running = False data_source_jobs = {} for generator_class in analytics_utils._generators_for_visualizations( visualizations): job = generator_class(app_context).load() data_source_jobs[generator_class] = job if not job or job.has_finished: any_generator_not_running = True # Generate HTML section for each visualization. html_sections = [] for v in visualizations: html_sections.extend( _generate_visualization_section(template_renderer, xsrf, app_context, v, data_source_jobs)) # Generate JS to pull contents of data-sources up to page and feed it # to visualization functions. html_sections.extend( _generate_data_source_script(template_renderer, visualizations, xsrf)) # Generate page content names_of_visualizations_with_generators = [] for visualization in visualizations: if analytics_utils._generators_for_visualizations([visualization]): names_of_visualizations_with_generators.append(visualization.name) rest_sources = [] has_pagination = False # True if any data_source has chunk size > 0 for rdsc in analytics_utils._rest_data_source_classes(visualizations): rest_sources.append({ 'name': rdsc.get_name(), 'title': rdsc.get_title(), 'chunk_size': rdsc.get_default_chunk_size(), }) has_pagination = has_pagination or rdsc.get_default_chunk_size() return template_renderer.render( None, 'models/analytics/display.html', { 'sections': html_sections, 'any_generator_not_running': any_generator_not_running, 'xsrf_token_run': xsrf.create_xsrf_token('run_visualizations'), 'visualizations': names_of_visualizations_with_generators, 'rest_sources': rest_sources, 'r': template_renderer.get_current_url(), 'has_pagination': has_pagination })
def _generate_display_html(template_renderer, xsrf, app_context, visualizations): # Package-protected: pylint: disable=protected-access # First, load jobs for all generators required for an visualization. # Jobs may directly contain small results, just hold references to # larger results, or both. any_generator_not_running = False data_source_jobs = {} for generator_class in analytics_utils._generators_for_visualizations( visualizations): job = generator_class(app_context).load() data_source_jobs[generator_class] = job if not job or job.has_finished: any_generator_not_running = True # Generate HTML section for each visualization. html_sections = [] for v in visualizations: html_sections.extend(_generate_visualization_section( template_renderer, xsrf, app_context, v, data_source_jobs)) # Generate JS to pull contents of data-sources up to page and feed it # to visualization functions. html_sections.extend(_generate_data_source_script(template_renderer, visualizations, xsrf)) # Generate page content names_of_visualizations_with_generators = [] for visualization in visualizations: if analytics_utils._generators_for_visualizations([visualization]): names_of_visualizations_with_generators.append(visualization.name) rest_sources = [] has_pagination = False # True if any data_source has chunk size > 0 for rdsc in analytics_utils._rest_data_source_classes(visualizations): rest_sources.append({ 'name': rdsc.get_name(), 'title': rdsc.get_title(), 'chunk_size': rdsc.get_default_chunk_size(), }) has_pagination = has_pagination or rdsc.get_default_chunk_size() return template_renderer.render( None, 'models/analytics/display.html', { 'sections': html_sections, 'any_generator_not_running': any_generator_not_running, 'xsrf_token_run': xsrf.create_xsrf_token('run_visualizations'), 'visualizations': names_of_visualizations_with_generators, 'rest_sources': rest_sources, 'r': template_renderer.get_current_url(), 'has_pagination': has_pagination })
def _get_generator_classes(self): # pylint: disable=protected-access return analytics_utils._generators_for_visualizations( [by_name[name] for name in self.request.get_all('visualization')])
def _get_generator_classes(self): return analytics_utils._generators_for_visualizations( [by_name[name] for name in self.request.get_all('visualization')])
def _get_generator_classes(self): return analytics_utils._generators_for_visualizations( [by_name[name] for name in self.request.get_all('visualization')])