示例#1
0
    def test_freebase_values(self):
        l = Location(name="Stanford", freebase_id="/en/stanford")
        geos = l.freebase_values("/location/location/geolocation")
        self.assertEqual(len(geos), 1)
        g = geos[0]
        self.assertEqual(g.text, u'37.4225 - -122.165278 - Freebase Geodata Team - Geocode')
        self.assertEqual(g.lang, "en")
        self.assertEqual(g.creator, "/user/merge_bot")
        self.assertEqual(g.value, None)
        self.assertTrue(g.timestamp)

        lats = g.get_values("/location/geocode/latitude")
        self.assertEqual(len(lats), 1)
        l = lats[0]
        self.assertEqual(l.text, "37.4225")
        self.assertEqual(l.lang, "en")
        self.assertEqual(l.value, 37.4225)
        self.assertEqual(l.creator, "/user/geo_bot")
        self.assertTrue(l.timestamp)

        lat = g.get_value("/location/geocode/latitude")
        self.assertEqual(lat.text, "37.4225")
        self.assertEqual(lat.lang, "en")
        self.assertEqual(lat.value, 37.4225)
        self.assertEqual(lat.creator, "/user/geo_bot")
        self.assertTrue(lat.timestamp)
示例#2
0
    def test_freebase_values(self):
        l = Location(name="Stanford", freebase_id="/en/stanford")
        geos = l.freebase_values("/location/location/geolocation")
        self.assertEqual(len(geos), 1)
        g = geos[0]
        self.assertEqual(g.text, "37.4225 - -122.165277778 - Freebase Geodata Team - Geocode")
        self.assertEqual(g.lang, "en")
        self.assertEqual(g.creator, "/user/merge_bot")
        self.assertEqual(g.value, None)
        self.assertTrue(g.timestamp)

        lats = g.get_values("/location/geocode/latitude")
        self.assertEqual(len(lats), 1)
        l = lats[0]
        self.assertEqual(l.text, "37.4225")
        self.assertEqual(l.lang, "en")
        self.assertEqual(l.value, 37.4225)
        self.assertEqual(l.creator, "/user/geo_bot")
        self.assertTrue(l.timestamp)

        lat = g.get_value("/location/geocode/latitude")
        self.assertEqual(lat.text, "37.4225")
        self.assertEqual(lat.lang, "en")
        self.assertEqual(lat.value, 37.4225)
        self.assertEqual(lat.creator, "/user/geo_bot")
        self.assertTrue(lat.timestamp)
示例#3
0
    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
示例#4
0
 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)
示例#5
0
 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)