generated from Hazel/python-project
Compare commits
2 Commits
593c975418
...
ec24193a72
Author | SHA1 | Date | |
---|---|---|---|
|
ec24193a72 | ||
|
ae997fd0bf |
@ -1,7 +1,7 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from .connections import Connection
|
from .connections import Connection, SilentConnection
|
||||||
from . import cache
|
from . import cache
|
||||||
|
|
||||||
|
|
||||||
@ -9,7 +9,7 @@ def main():
|
|||||||
c = Connection(cache_enable=False, request_delay=1.5, rate_limit_status_codes={200})
|
c = Connection(cache_enable=False, request_delay=1.5, rate_limit_status_codes={200})
|
||||||
c.generate_headers()
|
c.generate_headers()
|
||||||
|
|
||||||
print(c.get("http://ip.org/"))
|
print(c.get("http://www.does_not_exist.xyz"))
|
||||||
|
|
||||||
|
|
||||||
def cli():
|
def cli():
|
||||||
|
@ -118,10 +118,15 @@ class Connection:
|
|||||||
log.info(f"waiting {to_wait} at attempt {attempt}: {url}")
|
log.info(f"waiting {to_wait} at attempt {attempt}: {url}")
|
||||||
time.sleep(to_wait)
|
time.sleep(to_wait)
|
||||||
|
|
||||||
response = self.session.send(request.prepare())
|
|
||||||
|
|
||||||
self.last_request = time.time()
|
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 not self.validate_response(response):
|
||||||
if self.max_retries is not None and self.max_retries <= attempt:
|
if self.max_retries is not None and self.max_retries <= attempt:
|
||||||
raise requests.HTTPError(
|
raise requests.HTTPError(
|
||||||
@ -151,3 +156,11 @@ class Connection:
|
|||||||
json=json,
|
json=json,
|
||||||
**kwargs,
|
**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