manga-dlp/mangadlp/downloader.py

34 lines
1,015 B
Python
Raw Normal View History

2021-12-19 17:20:34 +01:00
import shutil
from pathlib import Path
from time import sleep
import requests
2021-12-19 17:20:34 +01:00
# download images
2021-12-20 15:33:04 +01:00
def download_chapter(image_urls, chapter_path, md_wait=0.5, md_verbose=False):
2022-05-04 19:17:12 +02:00
img_num = 1
for img in image_urls:
# set image path
image_path = Path(f"{chapter_path}/{img_num:03d}")
try:
# print('Try getting ' + img)
req = requests.get(img, stream=True)
except:
print(f"ERR: Request for image {img} failed, retrying")
2022-05-04 19:17:12 +02:00
sleep(md_wait)
req = requests.get(img, stream=True)
2021-12-19 17:20:34 +01:00
2022-05-04 19:17:12 +02:00
if req.status_code == 200:
req.raw.decode_content = True
with image_path.open("wb") as file:
shutil.copyfileobj(req.raw, file)
2021-12-19 17:20:34 +01:00
2022-05-04 19:17:12 +02:00
# verbose logging
if md_verbose:
print(f"INFO: Downloaded image {img_num}")
2022-05-04 19:17:12 +02:00
img_num += 1
sleep(0.5)
else:
print(f"ERR: Image {img} could not be downloaded. Exiting")
2022-05-04 19:17:12 +02:00
exit(1)