async def get_from_backend(address_components): cache = Cache(TAMULookup.name) result = cache.get(address_components) is_cached = bool(result) if is_cached: request_count_cached.labels(TAMULookup.name).inc() else: result = tamu_geocode_address(address_components) cache.save(address_components, result) # TODO do this in the background request_count.labels(TAMULookup.name).inc() point = Point( (Decimal(result["Longitude"]), Decimal(result["Latitude"]))) feature = Feature( geometry=point, properties={ "service": TAMULookup.name, "quality": result["NAACCRGISCoordinateQualityCode"], "timestamp": datetime.datetime.utcnow().isoformat() + "Z", # poop "cached": is_cached, # should this be a timestamp? }, ) return feature
async def get_from_backend(address_components): cache = Cache(OSMLookup.name) result = cache.get(address_components) is_cached = bool(result) if is_cached: request_count_cached.labels(OSMLookup.name).inc() else: result = osm_geocode_address(address_components) cache.save(address_components, result) # TODO do this in the background request_count.labels(OSMLookup.name).inc() point = Point((Decimal(result["lon"]), Decimal(result["lat"]))) feature = Feature( geometry=point, properties={ "service": OSMLookup.name, "timestamp": datetime.datetime.utcnow().isoformat() + "Z", # poop "cached": is_cached, # should this be a timestamp? }, ) return feature
def test_save_can_overwrite_data(self): cache = Cache("test", data_dir=self.tempdir) cache.save(self.address, {"foo": "bar"}) cache.save(self.address, {"foo": "baz"}) assert cache.get(self.address)["foo"] == "baz"