def datasets_query_v1_0(): """ API Format: /api/v1.0/datasets/ Optional arguments: * id : Show only the name and id of the datasets Returns: Response -- Response object containing list of available datasets w/ some metadata. """ data = [] if 'id' in request.args: for key in DatasetConfig.get_datasets(): config = DatasetConfig(key) data.append({'id': key, 'value': config.name}) else: for key in DatasetConfig.get_datasets(): config = DatasetConfig(key) data.append({ 'id': key, 'value': config.name, 'quantum': config.quantum, 'help': config.help, 'attribution': config.attribution, }) data = sorted(data, key=lambda k: k['value']) resp = jsonify(data) return resp
def datasets_query_v1_0(): """ API Format: /api/v1.0/datasets/ Optional arguments: * id: Show only the name and id of the datasets Returns: List of available datasets w/ some metadata. """ data = [] if "id" in request.args: for key in DatasetConfig.get_datasets(): config = DatasetConfig(key) data.append({"id": key, "value": config.name}) else: for key in DatasetConfig.get_datasets(): config = DatasetConfig(key) data.append( { "id": key, "value": config.name, "quantum": config.quantum, "help": config.help, "attribution": config.attribution, } ) data = sorted(data, key=lambda k: k["value"]) resp = jsonify(data) return resp
def test_datasetconfig_object(self, m): m.return_value = { "key": { "enabled": True, "url": "my_url", "climatology": "my_climatology", "name": "my_name", "help": "my_help", "quantum": "my_quantum", "attribution": "my_<b>attribution</b>", "cache": "123", "variables": { "var": { "name": "my_variable", } } }, } self.assertEqual(len(DatasetConfig.get_datasets()), 1) result = DatasetConfig("key") self.assertEqual(result.url, "my_url") self.assertEqual(result.climatology, "my_climatology") self.assertEqual(result.name, "my_name") self.assertEqual(result.help, "my_help") self.assertEqual(result.quantum, "my_quantum") self.assertEqual(result.attribution, "my_attribution") self.assertEqual(result.cache, 123) self.assertFalse(result.variable[Mock(key="var")].is_hidden)
def thorough(self): self.app = create_app() with self.app.app_context(): datasets = DatasetConfig.get_datasets() variables = {} for dataset in datasets: variables.update({dataset: DatasetConfig(dataset).variables}) data = {'datasets': datasets, 'variables': variables} return data
def test_datasetconfig_object(self, m): m.return_value = { "key": { "enabled": True, "url": "my_url", "geo_ref": { "url": "my_geo_ref_url", "drop_variables": ["bathymetry"], }, "climatology": "my_climatology", "name": "my_name", "help": "my_help", "quantum": "my_quantum", "type": "my_type", "grid_angle_file_url": "my_grid_angle_file_url", "bathymetry_file_url": "my_bathy_file_url.nc", "model_class": "my_model_class", "time_dim_units": "my_time_units", "attribution": "my_<b>attribution</b>", "cache": "123", "lat_var_key": "my_lat", "lon_var_key": "my_lon", "variables": { "var": { "name": "my_variable", } }, } } self.assertEqual(len(DatasetConfig.get_datasets()), 1) result = DatasetConfig("key") self.assertEqual(result.url, "my_url") self.assertEqual(result.geo_ref["url"], "my_geo_ref_url") self.assertEqual(result.geo_ref["drop_variables"], ["bathymetry"]) self.assertEqual(result.key, "key") self.assertEqual(result.climatology, "my_climatology") self.assertEqual(result.name, "my_name") self.assertEqual(result.help, "my_help") self.assertEqual(result.quantum, "my_quantum") self.assertEqual(result.grid_angle_file_url, "my_grid_angle_file_url") self.assertEqual(result.bathymetry_file_url, "my_bathy_file_url.nc") self.assertEqual(result.model_class, "my_model_class") self.assertEqual(result.type, "my_type") self.assertEqual(result.time_dim_units, "my_time_units") self.assertEqual(result.lat_var_key, "my_lat") self.assertEqual(result.lon_var_key, "my_lon") self.assertEqual(result.attribution, "my_attribution") self.assertEqual(result.cache, 123) self.assertFalse(result.variable[Mock(key="var")].is_hidden)
def test_get_datasets(self, m): m.return_value = { "k": { "enabled": True, }, "key": { "enabled": True, }, "disabled": { "notenabled": True, }, } result = DatasetConfig.get_datasets() self.assertEqual(len(result), 2) self.assertIn("k", result) self.assertIn("key", result) self.assertNotIn("disabled", result)