Files
my-webtoon/main.py
2025-05-11 18:58:43 +02:00

92 lines
3.2 KiB
Python

import argparse
from converter.converter import WebtoonConverter
from data.kakao_cookie import COOKIE
from data.special_list import WEBTOON_NOT_PROCESSED
from data.path_constant import DOWNLOAD_DIR, DOWNLOAD_LIST_TXT, TEMP_DOWNLOAD_DIR, TEMP_DOWNLOAD_LIST_TXT
from downloaders.kakao_webtoon import KakaoWebtoon
from helper.get_kakao_list import get_kakao_id_list
from helper.prerequisite import get_download_list
from downloaders.webtoon_com import Webtoon
DOWNLOAD_WEBTOON = False
CONVERT_ALL = False
task = 'dc'
kakao_list = ""
kakao_ids = get_kakao_id_list(kakao_list)
valid_cookies = []
new_webtoons = []
def download():
url_list = get_download_list(DOWNLOAD_LIST_TXT)
for url in url_list:
webtoon = None
if 'webtoon.kakao.com' in url:
webtoon_id = url.split('/')[-1]
if webtoon_id in kakao_ids:
webtoon = KakaoWebtoon(webtoon_id, COOKIE)
webtoon.download_webtoon(url, DOWNLOAD_DIR)
elif DOWNLOAD_WEBTOON and 'www.webtoons.com' in url:
webtoon_id = url.split('=')[1]
webtoon = Webtoon(webtoon_id)
webtoon.download_webtoon(url, DOWNLOAD_DIR)
if webtoon is not None and webtoon.new_webtoon != "":
new_webtoons.append(webtoon.new_webtoon)
print(new_webtoons)
# temp_url_list = get_download_list(TEMP_DOWNLOAD_LIST_TXT)
# for temp_url in temp_url_list:
# if 'webtoon.kakao.com' in temp_url:
# webtoon_id = temp_url.split('/')[-1]
# webtoon = KakaoWebtoon(webtoon_id, COOKIE)
# webtoon.download_webtoon(temp_url, TEMP_DOWNLOAD_DIR)
def convert():
for webtoon_path in DOWNLOAD_DIR.iterdir():
if len(new_webtoons) > 0:
if webtoon_path.is_dir() and webtoon_path.name in new_webtoons:
print(webtoon_path)
converter = WebtoonConverter(webtoon_path)
converter.do_convert()
elif webtoon_path.is_dir() and CONVERT_ALL and webtoon_path.name not in WEBTOON_NOT_PROCESSED:
print(webtoon_path)
converter = WebtoonConverter(webtoon_path)
converter.do_convert()
def main():
parser = argparse.ArgumentParser(description="Run download or convert")
parser.add_argument('function', nargs='?', choices=['download', 'convert'], help="Function to run")
args = parser.parse_args()
if args.function == 'download':
download()
elif args.function == 'convert':
convert()
else:
download()
convert()
if __name__ == "__main__":
if 'd' in task:
download()
if 'c' in task:
# new_webtoons.append('1995青春報告')
# new_webtoons.append('Unsleep')
# new_webtoons.append('鬼夜曲')
# new_webtoons.append('Backlight')
# new_webtoons.append('鄰居是公會成員')
# new_webtoons.append('No Moral')
# new_webtoons.append('披薩外送員與黃金宮')
# new_webtoons.append('PAYBACK')
# new_webtoons.append('融冰曲線')
# new_webtoons.append('夢龍傳')
# new_webtoons.append('棋子的世界')
# new_webtoons.append('監禁倉庫')
# new_webtoons.append('易地思之')
convert()
print('MyWebtoon')