import os
import re

def process_vtt_files(directory):
    # گشتن توی پوشه و زیرپوشه‌ها
    for root, dirs, files in os.walk(directory):
        for filename in files:
            # فقط فایل‌های .vtt رو پردازش کن
            if re.search(r'\.vtt$', filename, re.IGNORECASE):
                # مسیر کامل فایل
                file_path = os.path.join(root, filename)
                
                # تغییر اسم فقط برای بخش آخر
                new_name = filename
                new_name = re.sub(r'.ZarFilm\.PER\.vtt$', '.vtt', new_name, flags=re.IGNORECASE)
                new_name = re.sub(r'-ZarFilm\.PER\.vtt$', '.vtt', new_name, flags=re.IGNORECASE)
                new_name = re.sub(r'.ZarFilm\-PER\.vtt$', '.vtt', new_name, flags=re.IGNORECASE)
                new_name = re.sub(r'.ZarFilm\.En\.vtt$', 'En.vtt', new_name, flags=re.IGNORECASE)
                new_name = re.sub(r'.ZarFilm\.Fa\.vtt$', '.vtt', new_name, flags=re.IGNORECASE)
                new_name = re.sub(r'-ZarFilm\.Fa\.vtt$', '.vtt', new_name, flags=re.IGNORECASE)
                new_name = re.sub(r'.Zarfilm\.vtt$', '.vtt', new_name, flags=re.IGNORECASE)
                new_name = re.sub(r'-Zarfilm\.vtt$', '.vtt', new_name, flags=re.IGNORECASE)
                
                # اگه اسم تغییر کرد، فایل رو تغییر نام بده
                if new_name != filename:
                    new_path = os.path.join(root, new_name)
                    try:
                        os.rename(file_path, new_path)
                        print(f'تغییر نام: {filename} -> {new_name}')
                    except Exception as e:
                        print(f'خطا در تغییر نام {filename}: {str(e)}')
                else:
                    print(f'فایل {filename} نیازی به تغییر نداشت')

if __name__ == '__main__':
    # گرفتن پوشه فعلی که کد توش اجرا می‌شه
    current_dir = os.getcwd()
    print(f'پردازش فایل‌ها در: {current_dir}')
    process_vtt_files(current_dir)
    print('پردازش تموم شد!')