def _write_results(self,
                    indicators, 
                    source_data, 
                    file_name_for_indicator_results,
                    display_error_box):
     
     #generate a static html page for browsing outputted indicators and store the path to the html
     results_page_path = None
     results = IndicatorResults()
     try:            
         results_page_path = results.create_page(
             source_data = source_data,
             page_name = file_name_for_indicator_results,
             indicators = indicators)
     except:
         message = 'failed to generate indicator results page'
         if display_error_box:
             display_message_dialog(message)
         logger.enable_hidden_error_and_warning_words()
         logger.log_warning(message)
         logger.disable_hidden_error_and_warning_words()
 
     if results_page_path is not None:        
         results_page_path = 'file://' + results_page_path
         
     return results_page_path
 def _write_results(self,
                    indicators, 
                    source_data, 
                    file_name_for_indicator_results,
                    display_error_box):
     
     #generate a static html page for browsing outputted indicators and store the path to the html
     results_page_path = None
     results = IndicatorResults()
     try:            
         results_page_path = results.create_page(
             source_data = source_data,
             page_name = file_name_for_indicator_results,
             indicators = indicators)
     except:
         message = 'failed to generate indicator results page'
         if display_error_box:
             display_message_dialog(message)
         logger.enable_hidden_error_and_warning_words()
         logger.log_warning(message)
         logger.disable_hidden_error_and_warning_words()
 
     if results_page_path is not None:        
         results_page_path = 'file://' + results_page_path
         
     return results_page_path
示例#3
0
    def test_clip_to_zero_if_needed(self):
        from numpy import array, ma

        logger.enable_hidden_error_and_warning_words()
        result = clip_to_zero_if_needed(array([0,3,6,-4,8]), "test1")
        logger.disable_hidden_error_and_warning_words()
        self.assertEqual(ma.allequal(result, array([0,3,6,0,8])), True, msg = "Error in test_clip_to_zero_if_needed" )

        result = clip_to_zero_if_needed(array([0,3,6,4,8.5]), "test2")
示例#4
0
 def test_compute_one_variable_when_asking_for_attribute_that_is_not_in_cache(self):
     job_set = Dataset(self.job_set_resources, dataset_name="jobs")
     job_set.add_attribute(self.job_id, "job_id", metadata=AttributeType.PRIMARY)
     job_set.flush_dataset()
     job_id_variable_name = VariableName('opus_core.jobs.attribute_that_does_not_exist')
     
     logger.enable_hidden_error_and_warning_words()
     try:
         self.assertRaises(StandardError, job_set._compute_one_variable, job_id_variable_name)
         
     finally:
         logger.enable_hidden_error_and_warning_words()
示例#5
0
    def test_casting(self):
        storage = StorageFactory().get_storage('dict_storage')
        
        storage.write_table(
            table_name='tests',
            table_data={
                "a_dependent_variable":array([1,5,1000]),
                "id":array([1,3,4])
                }
            )
        
        dataset = Dataset(in_storage=storage, in_table_name='tests', id_name="id", dataset_name="tests")

        logger.enable_hidden_error_and_warning_words()
        # Next line should cause a 'WARNING' to be logged.
        dataset.compute_variables("opus_core.tests.a_test_variable",
                                  resources=Resources({"check_variables":"*"}))
        logger.disable_hidden_error_and_warning_words()
        
        values = dataset.get_attribute("a_test_variable")
        self.assertEqual(values.dtype.type, int8)
示例#6
0
    def test_casting(self):
        storage = StorageFactory().get_storage('dict_storage')

        storage.write_table(table_name='tests',
                            table_data={
                                "a_dependent_variable": array([1, 5, 1000]),
                                "id": array([1, 3, 4])
                            })

        dataset = Dataset(in_storage=storage,
                          in_table_name='tests',
                          id_name="id",
                          dataset_name="tests")

        logger.enable_hidden_error_and_warning_words()
        # Next line should cause a 'WARNING' to be logged.
        dataset.compute_variables("opus_core.tests.a_test_variable",
                                  resources=Resources({"check_variables":
                                                       "*"}))
        logger.disable_hidden_error_and_warning_words()

        values = dataset.get_attribute("a_test_variable")
        self.assertEqual(values.dtype.type, int8)
示例#7
0
    def test_infinite_values(self):
        storage = StorageFactory().get_storage('dict_storage')

        gridcell_set_table_name = 'gridcell_set'
        storage.write_table(
            table_name=gridcell_set_table_name,
            table_data={
                "residential_land_value":array([100, 1e+50, 800, 0], dtype=float32),
                "nonresidential_land_value":array([1e+100, 0, 20, 0], dtype=float32),
                "grid_id": array([1,2,3,4])
                }
            )
        gridcell_set = GridcellDataset(in_storage=storage, in_table_name=gridcell_set_table_name)

        lp = LandPriceModel()

        logger.enable_hidden_error_and_warning_words()
        lp.post_check(gridcell_set)
        logger.disable_hidden_error_and_warning_words()

        result1 = gridcell_set.get_attribute("residential_land_value")
        result2 = gridcell_set.get_attribute("nonresidential_land_value")
        self.assertEqual(ma.allclose(result1, array([100,  1e+38,  800, 0]), rtol=1e-3), True)
        self.assertEqual(ma.allclose(result2, array([1e+38,  0, 20,  0]), rtol=1e-3), True)
 def test_test_invalid_spec(self):
     from opus_core.configuration import Configuration
     logger.enable_hidden_error_and_warning_words()
     spec = ChunkSpecification(Configuration({'fnchunks':3}))
     logger.disable_hidden_error_and_warning_words()
 def setUp(self):
     logger.enable_hidden_error_and_warning_words()
 def setUp(self):
     logger.enable_hidden_error_and_warning_words()
 def test_test_invalid_spec(self):
     from opus_core.configuration import Configuration
     logger.enable_hidden_error_and_warning_words()
     spec = ChunkSpecification(Configuration({'fnchunks': 3}))
     logger.disable_hidden_error_and_warning_words()
示例#12
0
 def setUp(self):
     # While any warnings we receive ought to be legitimate, we are not
     # concerned with those right now.
     logger.enable_hidden_error_and_warning_words()
示例#13
0
 def setUp(self):
     self.tempdir = tempfile.mkdtemp(prefix='opus_tmp')
     self.output_file = os.path.join(self.tempdir, 'test_output')
     logger.enable_hidden_error_and_warning_words()
示例#14
0
 def setUp(self):
     self.tempdir = tempfile.mkdtemp(prefix='opus_tmp')
     self.output_file = os.path.join(self.tempdir, 'test_output')
     logger.enable_hidden_error_and_warning_words()
示例#15
0
 def setUp(self):
     # While any warnings we receive ought to be legitimate, we are not
     # concerned with those right now.
     logger.enable_hidden_error_and_warning_words()