Skip to content

Commit 8afe628

Browse files
authored
feat: add support for sorting reviews in Place Details requests (#468)
1 parent 65d5a26 commit 8afe628

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

googlemaps/places.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,14 @@ def _places(
396396
return client._request(url, params)
397397

398398

399-
def place(client, place_id, session_token=None, fields=None, language=None):
399+
def place(
400+
client,
401+
place_id,
402+
session_token=None,
403+
fields=None,
404+
language=None,
405+
reviews_sort="most_relevant"
406+
):
400407
"""
401408
Comprehensive details for an individual place.
402409
@@ -416,6 +423,10 @@ def place(client, place_id, session_token=None, fields=None, language=None):
416423
:param language: The language in which to return results.
417424
:type language: string
418425
426+
:param reviews_sort: The sorting method to use when returning reviews.
427+
Can be set to most_relevant (default) or newest.
428+
:type reviews_sort: string
429+
419430
:rtype: result dict with the following keys:
420431
result: dict containing place details
421432
html_attributions: set of attributions which must be displayed
@@ -444,6 +455,8 @@ def place(client, place_id, session_token=None, fields=None, language=None):
444455
params["language"] = language
445456
if session_token:
446457
params["sessiontoken"] = session_token
458+
if reviews_sort:
459+
params["reviews_sort"] = reviews_sort
447460

448461
return client._request("/maps/api/place/details/json", params)
449462

@@ -657,4 +670,3 @@ def _autocomplete(
657670

658671
url = "/maps/api/place/%sautocomplete/json" % url_part
659672
return client._request(url, params).get("predictions", [])
660-

tests/test_places.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def setUp(self):
3636
self.type = "liquor_store"
3737
self.language = "en-AU"
3838
self.region = "AU"
39+
self.reviews_sort="newest"
3940
self.radius = 100
4041

4142
@responses.activate
@@ -165,11 +166,12 @@ def test_place_detail(self):
165166
"ChIJN1t_tDeuEmsRUsoyG83frY4",
166167
fields=["business_status", "geometry/location", "place_id"],
167168
language=self.language,
169+
reviews_sort=self.reviews_sort,
168170
)
169171

170172
self.assertEqual(1, len(responses.calls))
171173
self.assertURLEqual(
172-
"%s?language=en-AU&placeid=ChIJN1t_tDeuEmsRUsoyG83frY4"
174+
"%s?reviews_sort=newest&language=en-AU&placeid=ChIJN1t_tDeuEmsRUsoyG83frY4"
173175
"&key=%s&fields=business_status,geometry/location,place_id"
174176
% (url, self.key),
175177
responses.calls[0].request.url,

0 commit comments

Comments
 (0)