ebird-api-requests 4.1.0__tar.gz → 4.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ebird_api_requests-4.1.0/src/ebird_api_requests.egg-info → ebird_api_requests-4.1.1}/PKG-INFO +1 -1
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/pyproject.toml +2 -2
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/__init__.py +1 -1
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/hotspots.py +9 -4
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/utils.py +2 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1/src/ebird_api_requests.egg-info}/PKG-INFO +1 -1
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/LICENSE.txt +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/README.md +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/setup.cfg +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/setup.py +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/checklists.py +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/client.py +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/constants.py +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/observations.py +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/regions.py +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/species.py +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/statistics.py +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/taxonomy.py +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/validation.py +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird_api_requests.egg-info/SOURCES.txt +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird_api_requests.egg-info/dependency_links.txt +0 -0
- {ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird_api_requests.egg-info/top_level.txt +0 -0
|
@@ -29,7 +29,7 @@ license = {text = "MIT License"}
|
|
|
29
29
|
name = "ebird-api-requests"
|
|
30
30
|
readme = "README.md"
|
|
31
31
|
requires-python = ">= 3.10"
|
|
32
|
-
version = "4.1.
|
|
32
|
+
version = "4.1.1"
|
|
33
33
|
|
|
34
34
|
[project.urls]
|
|
35
35
|
Repository = "https://github.com/StuartMacKay/ebird-api-requests.git"
|
|
@@ -37,7 +37,7 @@ Issues = "https://github.com/StuartMacKay/ebird-api-requests/issues"
|
|
|
37
37
|
Changelog = "https://github.com/StuartMacKay/ebird-api-requests/blob/master/CHANGELOG.md"
|
|
38
38
|
|
|
39
39
|
[tool.bumpversion]
|
|
40
|
-
current_version = "4.1.
|
|
40
|
+
current_version = "4.1.1"
|
|
41
41
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
|
|
42
42
|
serialize = ["{major}.{minor}.{patch}"]
|
|
43
43
|
ignore_missing_version = false
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"""Functions for fetching information about hotspots."""
|
|
2
2
|
|
|
3
|
+
from json import JSONDecodeError
|
|
3
4
|
from urllib.error import HTTPError
|
|
4
5
|
|
|
5
6
|
from ebird.api.requests.utils import call
|
|
@@ -124,8 +125,8 @@ def get_hotspot(token, loc_id):
|
|
|
124
125
|
"""Get the geographical details of a hotspot.
|
|
125
126
|
|
|
126
127
|
The call only work for hotspots. If you use the identifier for a private
|
|
127
|
-
location the eBird API will return
|
|
128
|
-
raised.
|
|
128
|
+
location the eBird API will return an empty response (as of Oct 2026) and
|
|
129
|
+
a JSONDecodeError will be raised.
|
|
129
130
|
|
|
130
131
|
This maps to the end point in the eBird API 2.0,
|
|
131
132
|
https://documenter.getpostman.com/view/664302/S1ENwy59?version=latest#e25218db-566b-4d8b-81ca-e79a8f68c599
|
|
@@ -143,6 +144,8 @@ def get_hotspot(token, loc_id):
|
|
|
143
144
|
|
|
144
145
|
:raises HTTPError if the eBird API returns an error.
|
|
145
146
|
|
|
147
|
+
:raises JSONDecodeError if the JSON data returned by the API is invalid.
|
|
148
|
+
|
|
146
149
|
"""
|
|
147
150
|
url = HOTSPOT_INFO_URL % clean_location(loc_id)
|
|
148
151
|
|
|
@@ -185,11 +188,13 @@ def get_location(token, loc_id):
|
|
|
185
188
|
|
|
186
189
|
# get_region() does not return "isHotspot" in the results, so we
|
|
187
190
|
# try get_hotspot() first and if the call fails with HTTP 410 Gone,
|
|
188
|
-
#
|
|
189
|
-
# massage the result.
|
|
191
|
+
# or as of Oct 2026, HTTP 200 and an empty response, indicating
|
|
192
|
+
# it's a private location, we call get_region and massage the result.
|
|
190
193
|
|
|
191
194
|
try:
|
|
192
195
|
return get_hotspot(token, loc_id)
|
|
196
|
+
except JSONDecodeError:
|
|
197
|
+
pass
|
|
193
198
|
except HTTPError as err:
|
|
194
199
|
if err.code != 410:
|
|
195
200
|
raise
|
|
@@ -182,6 +182,8 @@ def call(url, params, headers, max_retries=3, backoff_factor=1.0):
|
|
|
182
182
|
|
|
183
183
|
:raises HTTPError if the eBird API returns an error.
|
|
184
184
|
|
|
185
|
+
:raises JSONDecodeError if the JSON data returned by the API is invalid.
|
|
186
|
+
|
|
185
187
|
"""
|
|
186
188
|
filtered = filter_parameters(params)
|
|
187
189
|
mapped = map_parameters(filtered)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird/api/requests/observations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird_api_requests.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{ebird_api_requests-4.1.0 → ebird_api_requests-4.1.1}/src/ebird_api_requests.egg-info/top_level.txt
RENAMED
|
File without changes
|