manga-dlp/mangadexdlp/downloader.py
Ivan Schaller dd459d1dc2
All checks were successful
continuous-integration/drone/push Build is passing
change formatting and add verbose logging
2021-12-19 23:51:22 +01:00

34 lines
858 B
Python

import shutil
import requests
from time import sleep
from pathlib import Path
def download_chapter(image_urls, chapter_path, verbose=False):
# download images
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('Request for image {img} failed, retrying')
sleep(2)
req = requests.get(img, stream = True)
if req.status_code == 200:
req.raw.decode_content = True
with image_path.open('wb') as file:
shutil.copyfileobj(req.raw, file)
# verbose logging
if verbose:
print(f' Downloaded image {img_num}')
img_num += 1
sleep(0.5)
else:
print('Image {img} could not be downloaded. Exiting')
exit(1)