import os import re from utils.encode_downloads import encode_downloads from utils.encode_stream import encode_streams from utils.interpolate import interpolate from utils.upcale import upscale from utils.mediainfo import get_aspect_ratio INTERPOLATE_4K = False def create_folder(folder_path): if not os.path.exists(folder_path): os.makedirs(folder_path) for filename in os.listdir('0-Source'): if filename == '.gitignore': continue input_file = os.path.join('0-Source', filename) if not os.path.isfile(input_file): continue # Parse File Name try: hentai_name = re.sub(r'\[.*?\]|\(.*?\)', "", filename).rsplit('.', 1)[0].strip() folder_name = re.sub(r'[^A-Za-z ]+', '', hentai_name).strip() episode_number = re.findall(r'\d+', hentai_name)[-1] except: print(f"Error Parsing name for: {filename}") continue cdn_folder_name = folder_name.replace(" ", ".") cdn_folder = os.path.join('2-Out', folder_name, cdn_folder_name, f'E{episode_number}') muxed_folder = os.path.join('2-Out', folder_name, 'Muxed') # Output of Upscale and Interpolation # Hentai Name [2160p] # -> "Hentai Name [4k][HEVC].mkv" # -> "Hentai Name [1080p][48fps][HEVC].mkv" # -> "Hentai Name [2160p][48fps][HEVC].mkv" upscale_output_folder = os.path.join('2-Out', folder_name, f'{folder_name} [2160p]') upscale_output = os.path.join(upscale_output_folder, f'{hentai_name} [4k][HEVC].mkv') interpolate_output = os.path.join(upscale_output_folder, f'{hentai_name} [1080p][48fps][HEVC].mkv') interpolate_4k_output = os.path.join(upscale_output_folder, f'{hentai_name} [2160p][48fps][HEVC].mkv') print('Parsed Name: ' + hentai_name) create_folder(cdn_folder) create_folder(muxed_folder) create_folder(upscale_output_folder) aspect_ratio = get_aspect_ratio(input_file) upscale(input_file, upscale_output, aspect_ratio) interpolate(upscale_output, interpolate_output, hentai_name, "1080p", aspect_ratio) if INTERPOLATE_4K: interpolate(upscale_output, interpolate_4k_output, hentai_name, "2160p", aspect_ratio) encode_downloads(folder_name, hentai_name, input_file, upscale_output, interpolate_output, interpolate_4k_output, aspect_ratio) encode_streams(cdn_folder, input_file, upscale_output, interpolate_output, interpolate_4k_output, aspect_ratio) else: encode_downloads(folder_name, hentai_name, input_file, upscale_output, interpolate_output, None, aspect_ratio) encode_streams(cdn_folder, input_file, upscale_output, interpolate_output, None, aspect_ratio)