-
Notifications
You must be signed in to change notification settings - Fork 64
Open
Description
Hey @purarue thought you might have a hunch what's the best way to fix this!
Getting this consistently almost every other CI run.
HPI/src/my/tests/location/fallback.py
Line 20 in 2bbf98a
| def test_ip_fallback() -> None: |
=================================== FAILURES ===================================
_______________________________ test_ip_fallback _______________________________
def test_ip_fallback() -> None:
# precondition, make sure that the data override works
assert ilen(ip_module.ips()) == ilen(data())
> assert ilen(ip_module.ips()) == ilen(via_ip.fallback_locations())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/my/tests/location/fallback.py:23:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.tox/tests-all/lib/python3.13/site-packages/more_itertools/more.py:536: in ilen
return sum(compress(repeat(1), zip(iterable)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
my/location/fallback/via_ip.py:45: in fallback_locations
lat, lon = ip.latlon
^^^^^^^^^
my/ip/common.py:27: in latlon
loc: str = self.ipgeocache()["loc"]
^^^^^^^^^^^^^^^^^
my/ip/common.py:23: in ipgeocache
return ipgeocache.get(self.addr)
^^^^^^^^^^^^^^^^^^^^^^^^^
.tox/tests-all/lib/python3.13/site-packages/ipgeocache/__init__.py:120: in get
return get_from_cache_or_request(
.tox/tests-all/lib/python3.13/site-packages/ipgeocache/__init__.py:99: in get_from_cache_or_request
resp.raise_for_status()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Response [429]>
def raise_for_status(self):
"""Raises :class:`HTTPError`, if one occurred."""
http_error_msg = ""
if isinstance(self.reason, bytes):
# We attempt to decode utf-8 first because some servers
# choose to localize their reason strings. If the string
# isn't utf-8, we fall back to iso-8859-1 for all other
# encodings. (See PR #3538)
try:
reason = self.reason.decode("utf-8")
except UnicodeDecodeError:
reason = self.reason.decode("iso-8859-1")
else:
reason = self.reason
if 400 <= self.status_code < 500:
http_error_msg = (
f"{self.status_code} Client Error: {reason} for url: {self.url}"
)
elif 500 <= self.status_code < 600:
http_error_msg = (
f"{self.status_code} Server Error: {reason} for url: {self.url}"
)
if http_error_msg:
> raise HTTPError(http_error_msg, response=self)
E requests.exceptions.HTTPError: 429 Client Error: Too Many Requests for url: https://ipinfo.io/67.98.113.0
.tox/tests-all/lib/python3.13/site-packages/requests/models.py:1026: HTTPError
From a quick look, it seems like it's always this IP, but I'm confused a bit -- thought the point was that requests to ipinfo would be cached? So kinda confused what's causing it
HPI/src/my/tests/location/fallback.py
Line 120 in 2bbf98a
| yield IP(addr="67.98.113.0", dt=datetime(2020, 1, 1, 12, 0, 0, tzinfo=timezone.utc)) |
Metadata
Metadata
Assignees
Labels
No labels