Skip to content

Commit b764680

Browse files
committed
fix: display Twitter rate limit error (close #80)
1 parent 0bf3e4c commit b764680

File tree

1 file changed

+19
-11
lines changed
  • nazurin/sites/twitter/api

1 file changed

+19
-11
lines changed

nazurin/sites/twitter/api/web.py

+19-11
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ async def _request(self, method, url, headers=None, **kwargs):
141141

142142
async with Request(headers=headers, cookies=WebAPI.cookies) as request:
143143
async with request.request(method, url, **kwargs) as response:
144-
result = await response.json()
145144
if not response.ok:
145+
result = await response.text()
146146
logger.error("Web API Error: {}, {}", response.status, result)
147147
if response.status == 401:
148148
raise NazurinError(
@@ -151,19 +151,27 @@ async def _request(self, method, url, headers=None, **kwargs):
151151
)
152152
if response.status == 429:
153153
headers = response.headers
154-
logger.error(
155-
"Rate limited, limit: {}, reset: {}",
156-
headers[Headers.RATE_LIMIT_LIMIT],
157-
headers[Headers.RATE_LIMIT_RESET],
158-
)
159-
reset_time = datetime.fromtimestamp(
160-
headers[Headers.RATE_LIMIT_RESET]
161-
)
154+
detail = ""
155+
if (
156+
Headers.RATE_LIMIT_LIMIT in headers
157+
and Headers.RATE_LIMIT_RESET in headers
158+
):
159+
rate_limit = int(headers[Headers.RATE_LIMIT_LIMIT])
160+
reset_time = int(headers[Headers.RATE_LIMIT_RESET])
161+
logger.error(
162+
"Rate limited, limit: {}, reset: {}",
163+
rate_limit,
164+
reset_time,
165+
)
166+
reset_time = datetime.fromtimestamp(reset_time)
167+
detail = (
168+
f"Rate limit: {rate_limit}, Reset time: {reset_time}"
169+
)
162170
raise NazurinError(
163-
"Hit API rate limit, please try again later. "
164-
f"Reset time: {reset_time}"
171+
"Hit API rate limit, please try again later. " + detail
165172
)
166173
raise NazurinError(f"Twitter web API error: {result}")
174+
result = await response.json()
167175
self._update_cookies(response.cookies)
168176
return result
169177

0 commit comments

Comments
 (0)