mirror of
https://github.com/mikf/gallery-dl.git
synced 2024-11-21 18:22:30 +01:00
move code from util.py
This commit is contained in:
parent
41f00809ff
commit
513808d156
@ -8,10 +8,12 @@
|
||||
|
||||
"""Common classes and constants used by extractor modules."""
|
||||
|
||||
import time
|
||||
import queue
|
||||
import threading
|
||||
import requests
|
||||
# from ..util import safe_request
|
||||
import threading
|
||||
import html.parser
|
||||
|
||||
|
||||
class Message():
|
||||
|
||||
@ -95,3 +97,34 @@ class AsyncExtractor(Extractor):
|
||||
import traceback
|
||||
print(traceback.format_exc())
|
||||
put(None)
|
||||
|
||||
|
||||
def safe_request(session, url, method="GET", *args, **kwargs):
|
||||
tries = 0
|
||||
while True:
|
||||
# try to connect to remote source
|
||||
try:
|
||||
r = session.request(method, url, *args, **kwargs)
|
||||
except requests.exceptions.ConnectionError:
|
||||
tries += 1
|
||||
time.sleep(1)
|
||||
if tries == 5:
|
||||
raise
|
||||
continue
|
||||
|
||||
# reject error-status-codes
|
||||
if r.status_code != requests.codes.ok:
|
||||
tries += 1
|
||||
time.sleep(1)
|
||||
if tries == 5:
|
||||
r.raise_for_status()
|
||||
continue
|
||||
|
||||
# everything ok -- proceed to download
|
||||
return r
|
||||
|
||||
def filename_from_url(url):
|
||||
pos = url.rfind("/")
|
||||
return url[pos+1:]
|
||||
|
||||
unescape = html.parser.HTMLParser().unescape
|
||||
|
@ -1,33 +0,0 @@
|
||||
import time
|
||||
import requests
|
||||
import html.parser
|
||||
|
||||
def safe_request(session, url, method="GET", *args, **kwargs):
|
||||
tries = 0
|
||||
while True:
|
||||
# try to connect to remote source
|
||||
try:
|
||||
r = session.request(method, url, *args, **kwargs)
|
||||
except requests.exceptions.ConnectionError:
|
||||
tries += 1
|
||||
time.sleep(1)
|
||||
if tries == 5:
|
||||
raise
|
||||
continue
|
||||
|
||||
# reject error-status-codes
|
||||
if r.status_code != requests.codes.ok:
|
||||
tries += 1
|
||||
time.sleep(1)
|
||||
if tries == 5:
|
||||
r.raise_for_status()
|
||||
continue
|
||||
|
||||
# everything ok -- proceed to download
|
||||
return r
|
||||
|
||||
def filename_from_url(url):
|
||||
pos = url.rfind("/")
|
||||
return url[pos+1:]
|
||||
|
||||
unescape = html.parser.HTMLParser().unescape
|
Loading…
Reference in New Issue
Block a user