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

63 lines
2.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
from pathlib import Path
import shutil
from data.path_constant import DOWNLOAD_DIR, NETWORK_DIR
# input: DOWNLOAD_DIR or NETWORK_DIR
def delete_all_empty_episodes(path: Path):
for first_level_path in path.iterdir():
if first_level_path.is_dir():
for second_level_path in first_level_path.iterdir():
if second_level_path.is_dir() and not any(second_level_path.iterdir()):
print(f"Deleting directory: {second_level_path}")
shutil.rmtree(second_level_path)
print(f"Empty directory '{second_level_path}' deleted successfully.")
def delete_all_webtoons_without_episodes():
for first_level_path in NETWORK_DIR.iterdir():
if first_level_path.is_dir():
contains_dir = any(item.is_dir() for item in first_level_path.iterdir())
if not contains_dir:
# No subdirectories, safe to delete
print(f"Deleting directory: {first_level_path}")
shutil.rmtree(first_level_path)
print(f"Directory '{first_level_path}' deleted successfully.")
def get_download_list(path: Path):
url_list = []
try:
with open(path, 'r', encoding='utf-8') as file:
for url in file:
if 'https://' in url:
url_list.append(url.strip())
except FileNotFoundError:
print(f"The file at {path} was not found.")
except Exception as e:
print(f"An error occurred: {e}")
return url_list
def rename_episodes(path: Path):
for first_level_path in path.iterdir():
if first_level_path.is_dir():
for second_level_path in first_level_path.iterdir():
if second_level_path.is_dir() and '. ' in second_level_path.name:
print(second_level_path)
newName = second_level_path.name.replace(". ", ".")
new_path = first_level_path / newName
os.rename(second_level_path, new_path)
if second_level_path.is_dir() and '' in second_level_path.name:
print(second_level_path)
newName = second_level_path.name.replace("", " (")
newName = newName.replace("", ")")
new_path = first_level_path / newName
os.rename(second_level_path, new_path)
def get_episodes_with_wrong_name(path: Path):
for first_level_path in path.iterdir():
if first_level_path.is_dir():
for second_level_path in first_level_path.iterdir():
if second_level_path.is_dir() and len(second_level_path.name.split('.')) > 2:
print(second_level_path)