generated from Hazel/python-project
Compare commits
2 Commits
593c975418
...
ec24193a72
Author | SHA1 | Date | |
---|---|---|---|
|
ec24193a72 | ||
|
ae997fd0bf |
@ -1,7 +1,7 @@
|
||||
import argparse
|
||||
import logging
|
||||
|
||||
from .connections import Connection
|
||||
from .connections import Connection, SilentConnection
|
||||
from . import cache
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ def main():
|
||||
c = Connection(cache_enable=False, request_delay=1.5, rate_limit_status_codes={200})
|
||||
c.generate_headers()
|
||||
|
||||
print(c.get("http://ip.org/"))
|
||||
print(c.get("http://www.does_not_exist.xyz"))
|
||||
|
||||
|
||||
def cli():
|
||||
|
@ -118,10 +118,15 @@ class Connection:
|
||||
log.info(f"waiting {to_wait} at attempt {attempt}: {url}")
|
||||
time.sleep(to_wait)
|
||||
|
||||
response = self.session.send(request.prepare())
|
||||
|
||||
self.last_request = time.time()
|
||||
|
||||
try:
|
||||
response = self.session.send(request.prepare())
|
||||
except requests.ConnectionError:
|
||||
if self.max_retries is not None and self.max_retries <= attempt:
|
||||
raise
|
||||
return self.send_request(request, attempt=attempt+1)
|
||||
|
||||
if not self.validate_response(response):
|
||||
if self.max_retries is not None and self.max_retries <= attempt:
|
||||
raise requests.HTTPError(
|
||||
@ -151,3 +156,11 @@ class Connection:
|
||||
json=json,
|
||||
**kwargs,
|
||||
))
|
||||
|
||||
|
||||
class SilentConnection(Connection):
|
||||
def send_request(self, request: requests.Request, attempt: int = 0) -> Optional[requests.Response]:
|
||||
try:
|
||||
return super().send_request(request, attempt)
|
||||
except requests.HTTPError as e:
|
||||
log.warning(str(e))
|
||||
|
Loading…
x
Reference in New Issue
Block a user