def get_locations(self, location_names: List[str]) -> List[Location]: """Retrives locations matching provided names. :param location_names: names of locations to retrieve :type location_names: List[str] :return: locations matching provided names. :rtype: List[Location] """ locations = [] if location_names: locations = list(Location.objects.filter(name__in=location_names)) if len(locations) < len(location_names): known_names = {loc.name for loc in locations} for name in set(location_names).difference(known_names): loc = Location(name=name) try: loc.save() locations.append(loc) except Exception: pass return locations
def test_location_save(self): l = Location(name="Stanford", freebase_id="/en/stanford") l.save() self.assertEqual(l.latitude, 37.4225) self.assertAlmostEqual(l.longitude, -122.165277778, places=3)
def test_location_save(self): l = Location(name="Stanford", freebase_id="/en/stanford") l.save() self.assertEqual(l.latitude, 37.4225) self.assertEqual(l.longitude, -122.165277778)