|
1 | 1 | """ Geocoder module. """ |
2 | 2 |
|
3 | | -from datetime import datetime |
| 3 | +import datetime as dt |
4 | 4 | from decimal import Decimal |
5 | 5 | import collections |
6 | 6 |
|
@@ -66,9 +66,8 @@ def __init__(self, reset_time, reset_to): |
66 | 66 |
|
67 | 67 | def __unicode__(self): |
68 | 68 | """Convert exception to a string.""" |
69 | | - return ("Your rate limit has expired. " |
70 | | - f"It will reset to {self.reset_to} on {self.reset_time.isoformat()}" |
71 | | - ) |
| 69 | + return ("You have used the requests available on your plan. " |
| 70 | + "Please purchase more if you wish to continue: https://opencagedata.com/pricing") |
72 | 71 |
|
73 | 72 | __str__ = __unicode__ |
74 | 73 |
|
@@ -278,7 +277,7 @@ def _opencage_request(self, params): |
278 | 277 |
|
279 | 278 | if response.status_code in (402, 429): |
280 | 279 | # Rate limit exceeded |
281 | | - reset_time = datetime.utcfromtimestamp(response.json()['rate']['reset']) |
| 280 | + reset_time = dt.datetime.fromtimestamp(response.json()['rate']['reset'], dt.UTC) |
282 | 281 | raise RateLimitExceededError( |
283 | 282 | reset_to=int(response.json()['rate']['limit']), |
284 | 283 | reset_time=reset_time |
@@ -323,7 +322,7 @@ async def _opencage_async_request(self, params): |
323 | 322 |
|
324 | 323 | if response.status in (402, 429): |
325 | 324 | # Rate limit exceeded |
326 | | - reset_time = datetime.utcfromtimestamp(response_json['rate']['reset']) |
| 325 | + reset_time = dt.datetime.fromtimestamp(response_json['rate']['reset'], dt.UTC) |
327 | 326 | raise RateLimitExceededError( |
328 | 327 | reset_to=int(response_json['rate']['limit']), |
329 | 328 | reset_time=reset_time |
|
0 commit comments