def visualize(self, indicators_to_visualize, computed_indicators, visualization_type, *args, **kwargs): class_names = { "mapnik_map": "MapnikMap", "mapnik_animated_map": "MapnikAnimation", "matplotlib_chart": "MatplotlibChart", "table": "Table", } module = "opus_gui.results_manager.run.indicator_framework.visualizer.visualizers" module_composed_name = module + "." + visualization_type example_indicator = computed_indicators[indicators_to_visualize[0]] indicator_directory = example_indicator.source_data.get_indicator_directory() additional_args = {"indicator_directory": indicator_directory} kwargs.update(additional_args) visualization = ClassFactory().get_class( module_composed_name=module_composed_name, class_name=class_names[visualization_type], arguments=kwargs ) try: visualization = visualization.visualize( indicators_to_visualize=indicators_to_visualize, computed_indicators=computed_indicators, *args ) except Exception, e: msg = "Could not create the %s visualization for %s" % (visualization_type, module_composed_name) logger.log_error(msg) raise
def visualize(self, indicators_to_visualize, computed_indicators, visualization_type, *args, **kwargs): class_names = { 'mapnik_map': 'MapnikMap', 'mapnik_animated_map': 'MapnikAnimation', 'matplotlib_chart': 'MatplotlibChart', 'table': 'Table' } module = 'opus_gui.results_manager.run.indicator_framework.visualizer.visualizers' module_composed_name = module + '.' + visualization_type example_indicator = computed_indicators[indicators_to_visualize[0]] indicator_directory = example_indicator.source_data.get_indicator_directory( ) additional_args = {'indicator_directory': indicator_directory} kwargs.update(additional_args) visualization = ClassFactory().get_class( module_composed_name=module_composed_name, class_name=class_names[visualization_type], arguments=kwargs) try: visualization = visualization.visualize( indicators_to_visualize=indicators_to_visualize, computed_indicators=computed_indicators, *args) except Exception, e: msg = 'Could not create the %s visualization for %s' % ( visualization_type, module_composed_name) logger.log_error(msg) raise
def _call_input_file_writer(self, year, dataset_pool): writer_module = self.config['travel_model_configuration'].get('travel_model_input_file_writer') writer_class = get_camel_case_class_name_from_opus_path(writer_module) file_writer = ClassFactory().get_class( writer_module, class_name=writer_class ) current_year_emme2_dir = self.get_emme2_dir(year) filename = file_writer.run(current_year_emme2_dir, year, dataset_pool, config=self.config) if isinstance(filename, list): return filename return [filename]
def _call_input_file_writer(self, year, dataset_pool): writer_module = self.config['travel_model_configuration'].get( 'travel_model_input_file_writer') writer_class = get_camel_case_class_name_from_opus_path(writer_module) file_writer = ClassFactory().get_class(writer_module, class_name=writer_class) current_year_emme2_dir = self.get_emme2_dir(year) filename = file_writer.run(current_year_emme2_dir, year, dataset_pool, config=self.config) if isinstance(filename, list): return filename return [filename]
def get_model(self, name="opus_core.linear_regression", resources=None, debuglevel=0): """name is of the form 'package_name.class_name'. """ return ClassFactory().get_class(name, debug=debuglevel)
def get_storage(self, type, subdir='store', package='opus_core', **kwargs): """'type' determines the name of Storage subclass (sql_storage, flt_storage, ...). There has to be a module of that name that contains a class of the same name. 'resources' is passed to the constructor of the Storage class. The argument 'subdir' gives the name of a subdirectory in which the storage class resides. """ if subdir: module_name = package + "." + subdir + "." + type else: module_name = package + "." + type return ClassFactory().get_class(module_name, arguments=kwargs)
def get_dataset(self, dataset_name, subdir="datasets", package="opus_core", arguments={}, debug=0): """If the conventions in the class comment are followed or if the dataset name is appropriately listed in 'exceptions', this method returns a Dataset object, such as MyGrizzlyBearDataset for the given package and subdirectory. 'arguments' is a dictionary with keyword arguments passed to the dataset constructor. """ (table_name, module_name, class_name) = self._table_module_class_names_for_dataset(dataset_name) if module_name is None or class_name is None: return None if subdir: module_full_name = package + "." + subdir + "." + module_name else: module_full_name = package + "." + module_name return ClassFactory().get_class(module_full_name, class_name=class_name, arguments=arguments, debug=debug)
def get_model_component(self, name, arguments={}, debuglevel=0): return ClassFactory().get_class(name, arguments=arguments, debug=debuglevel)