def clean_rename(old_path: Path, output_dir: Path = None, dry_run=True): """ Rename a messy TV file to 'Show Name - S01E11 - Quality Source.ext' """ old_path = Path(old_path) info = parse_tv_filename(old_path.name)
# Pattern: show name + sXXeYY + optional quality + optional source pattern = r'^(.*?)\s+s(\d+)e(\d+)\s+(\d+p)?\s*-?\s*(\w+)?$' match = re.search(pattern, name, re.IGNORECASE) the pitt s01e11 720p web-dl
if not match: raise ValueError(f"Filename not recognized: {filename}") def clean_rename(old_path: Path
return { "show": show, "season": season, "episode": episode, "quality": quality, "source": source.lower(), "extension": ext } output_dir: Path = None