Ivan Schaller
249e269e2d
All checks were successful
continuous-integration/drone/push Build is passing
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
from pathlib import Path
|
|
import shutil
|
|
from zipfile import ZipFile
|
|
|
|
|
|
def make_archive(chapter_path):
|
|
image_folder = Path(chapter_path)
|
|
zip_path = Path(f'{chapter_path}.zip')
|
|
with ZipFile(f'{image_folder}.zip', 'w') as zip_archive:
|
|
for file in image_folder.iterdir():
|
|
zip_archive.write(file, file.name)
|
|
|
|
zip_path.rename(zip_path.with_suffix('.cbz'))
|
|
shutil.rmtree(image_folder)
|
|
|
|
|
|
def get_img_urls(img_files, chapter_hash):
|
|
dl_base_url = 'https://uploads.mangadex.org'
|
|
img_urls = []
|
|
for img in img_files:
|
|
img_urls.append(f'{dl_base_url}/data/{chapter_hash}/{img}')
|
|
|
|
return img_urls
|
|
|
|
|
|
def get_chapter_list(chapters):
|
|
chapter_list = []
|
|
for chapter in chapters.split(','):
|
|
if '-' in chapter and ':' in chapter:
|
|
lower = chapter.split('-')[0].split(':')
|
|
upper = chapter.split('-')[1].split(':')
|
|
for n in range(int(lower[1]), int(upper[1])+1):
|
|
chapter_list.append(str(f'{lower[0]}:{n}'))
|
|
elif '-' in chapter:
|
|
lower = chapter.split('-')[0]
|
|
upper = chapter.split('-')[1]
|
|
for n in range(int(lower), int(upper)+1):
|
|
chapter_list.append(str(n))
|
|
else:
|
|
chapter_list.append(chapter)
|
|
|
|
return chapter_list
|
|
|
|
|