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
Example #2
0
    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]
Example #4
0
 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)
Example #7
0
 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)