from glob import glob import shutil import os from pathlib import Path import subprocess import re source_path = Path('/mnt/Download/finished/') dest_path = '/mnt/Download/PostProcess/' print("Checking if rar files and unraring...") for root, dirs, files in os.walk(source_path): for dir in dirs: for file in files: rar_file = glob(f"{os.path.join(root, '')}*rar") if rar_file: subprocess.run(["/usr/bin/unrar", 'e', rar_file[0], '-idq', '']) print("Deleting rar, sfv, nfo files...") for root, dirs, files in os.walk(source_path): for dir in dirs: for file in files: if re.search(r'\.r\d{2,3}', file) or file.endswith('.rar') or file.endswith('.sfv') or file.endswith('.nfo'): os.remove(os.path.join(root, file)) print(f"Moving files from {source_path} to {dest_path}") for src_folder in source_path.iterdir(): shutil.move(src_folder, dest_path)