Skip to content

Commit b7c7d39

Browse files
committed
update geo_coordinates param + tests
1 parent 79cfca6 commit b7c7d39

File tree

3 files changed

+9
-23
lines changed

3 files changed

+9
-23
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@ addresses = client.property_address.search.retrieve(
485485
Gets a list of unique properties and their associated metadata and events based on a set of filters. Use one of three search methods:
486486
1. `parcl_ids`
487487
2. `parcl_property_ids`
488-
3. `location` (must provide latitude, longitude, and radius)
488+
3. `geo_coordinates` (must provide latitude, longitude, and radius)
489489

490490
```python
491491
results, filter_data = client.property_v2.search.retrieve(

parcllabs/services/properties/property_v2.py

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -265,9 +265,7 @@ def retrieve(
265265
self,
266266
parcl_ids: list[int] | None = None,
267267
parcl_property_ids: list[int] | None = None,
268-
latitude: float | None = None,
269-
longitude: float | None = None,
270-
radius: float | None = None,
268+
geo_coordinates: dict[str, float] | None = None,
271269
property_types: list[str] | None = None,
272270
min_beds: int | None = None,
273271
max_beds: int | None = None,
@@ -300,9 +298,7 @@ def retrieve(
300298
Args:
301299
parcl_ids: List of parcl_ids to filter by.
302300
parcl_property_ids: List of parcl_property_ids to filter by.
303-
latitude: Latitude to filter by.
304-
longitude: Longitude to filter by.
305-
radius: Radius to filter by.
301+
geo_coordinates: Dictionary containing latitude, longitude, and radius to filter by.
306302
property_types: List of property types to filter by.
307303
min_beds: Minimum number of bedrooms to filter by.
308304
max_beds: Maximum number of bedrooms to filter by.
@@ -331,16 +327,11 @@ def retrieve(
331327
Returns:
332328
A pandas DataFrame containing the property data.
333329
"""
334-
# Build location dict if latitude, longitude and radius are provided
335-
location = None
336-
if all(v is not None for v in [latitude, longitude, radius]):
337-
location = {"latitude": latitude, "longitude": longitude, "radius": radius}
338-
339330
# Build search criteria
340331
data = self._build_search_criteria(
341332
parcl_ids=parcl_ids,
342333
parcl_property_ids=parcl_property_ids,
343-
geo_coordinates=location,
334+
geo_coordinates=geo_coordinates,
344335
)
345336

346337
# Build filters using all provided parameters
@@ -350,9 +341,6 @@ def retrieve(
350341
"self",
351342
"parcl_ids",
352343
"parcl_property_ids",
353-
"latitude",
354-
"longitude",
355-
"radius",
356344
"params",
357345
"data",
358346
"geo_coordinates",

tests/test_property_v2.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,20 +52,18 @@ def test_build_search_criteria(property_v2_service: PropertyV2Service) -> None:
5252
assert criteria == {"parcl_property_ids": [789, 101]}
5353

5454
# Test with location
55-
location = {"latitude": 37.7749, "longitude": -122.4194, "radius": 5.0}
56-
criteria = property_v2_service._build_search_criteria(geo_coordinates=location)
57-
assert criteria == location
55+
geo_coordinates = {"latitude": 37.7749, "longitude": -122.4194, "radius": 5.0}
56+
criteria = property_v2_service._build_search_criteria(geo_coordinates=geo_coordinates)
57+
assert criteria == {"geo_coordinates": geo_coordinates}
5858

5959
# Test with all parameters
6060
criteria = property_v2_service._build_search_criteria(
61-
parcl_ids=[123], parcl_property_ids=[456], geo_coordinates=location
61+
parcl_ids=[123], parcl_property_ids=[456], geo_coordinates=geo_coordinates
6262
)
6363
assert criteria == {
6464
"parcl_ids": [123],
6565
"parcl_property_ids": [456],
66-
"latitude": 37.7749,
67-
"longitude": -122.4194,
68-
"radius": 5.0,
66+
"geo_coordinates": geo_coordinates,
6967
}
7068

7169

0 commit comments

Comments
 (0)