forked from geopy/geopy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
photon.py
87 lines (73 loc) · 2.67 KB
/
photon.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
from geopy.geocoders import Photon
from geopy.point import Point
from test.geocoders.util import BaseTestGeocoder
class TestPhoton(BaseTestGeocoder):
known_country_de = "Frankreich"
known_country_fr = "France"
@classmethod
def make_geocoder(cls, **kwargs):
return Photon(**kwargs)
async def test_user_agent_custom(self):
geocoder = Photon(
user_agent='my_user_agent/1.0'
)
assert geocoder.headers['User-Agent'] == 'my_user_agent/1.0'
async def test_geocode(self):
location = await self.geocode_run(
{"query": "14 rue pelisson villeurbanne"},
{"latitude": 45.7733963, "longitude": 4.88612369},
)
assert "France" in location.address
async def test_osm_tag(self):
await self.geocode_run(
{"query": "Freedom", "osm_tag": "tourism:artwork"},
{"latitude": 38.8898061, "longitude": -77.009088, "delta": 2.0},
)
await self.geocode_run(
{"query": "Freedom", "osm_tag": ["!office", "place:hamlet"]},
{"latitude": 44.3862491, "longitude": -88.290994, "delta": 2.0},
)
async def test_bbox(self):
await self.geocode_run(
{"query": "Marbach", "bbox": [(50.16, 10.67), (50.17, 10.68)]},
{"latitude": 50.1667628, "longitude": 10.6786321, "delta": 2.0},
)
async def test_unicode_name(self):
await self.geocode_run(
{"query": "\u6545\u5bab"},
{"latitude": 39.916, "longitude": 116.390},
)
async def test_reverse(self):
result = await self.reverse_run(
{"query": Point(45.7733105, 4.8869339)},
{"latitude": 45.7733105, "longitude": 4.8869339}
)
assert "France" in result.address
async def test_geocode_language_parameter(self):
result_geocode = await self.geocode_run(
{"query": self.known_country_fr, "language": "de"},
{},
)
assert (
result_geocode.raw['properties']['country'] ==
self.known_country_de
)
async def test_reverse_language_parameter(self):
result_reverse_it = await self.reverse_run(
{"query": "45.7733105, 4.8869339",
"language": "de"},
{},
)
assert (
result_reverse_it.raw['properties']['country'] ==
self.known_country_de
)
result_reverse_fr = await self.reverse_run(
{"query": "45.7733105, 4.8869339",
"language": "fr"},
{},
)
assert (
result_reverse_fr.raw['properties']['country'] ==
self.known_country_fr
)