def image(lat, lon, dim=None, date=None, cloud_score=None): payload = { 'lat': validations.nasa_float(lat), 'lon': validations.nasa_float(lon), 'dim': validations.optional_float(dim), 'date': validations.optional_date(date), 'cloud_score': cloud_score, } response = api.api_get( 'https://api.nasa.gov/planetary/earth/imagery', payload, ) return EarthImagery.from_response(response)
def assets(lat, lon, begin, end=None): payload = { 'lat': validations.nasa_float(lat), 'lon': validations.nasa_float(lon), 'begin': validations.nasa_date(begin), 'end': validations.optional_date(end), } response = api.api_get( 'https://api.nasa.gov/planetary/earth/assets', payload, ) results = response['results'] for result in results: result.update({'lat': lat, 'lon': lon}) return [EarthAsset.from_response(r) for r in results]
def test_nasa_float(self): for i in range(100): value = random.random() self.assertEqual(validations.nasa_float(value), value) self.assertRaises(ValueError, lambda: validations.nasa_float(12)) self.assertRaises(ValueError, lambda: validations.nasa_float('1.5'))