import os
import re
from distutils.core import setup
from Cython.Build import cythonize

# specify src folder
folder_path = '.'

# delete all pyd files
for filename in os.listdir(folder_path):
    if filename.endswith('.pyd'):
        file_path = os.path.join(folder_path, filename)
        os.remove(file_path)
        print(f"Deleted {file_path}")


setup(
    ext_modules=cythonize('*.py', build_dir='build', compiler_directives={'language_level': "3"}),
    script_args=['build_ext', '--inplace']
)

# list all pyd files
pyd_files = [f for f in os.listdir(folder_path) if f.endswith('.pyd')]

# rename each pyd file
for pyd_file in pyd_files:
    # version and platform match
    new_name = re.sub(r'\.cp\d+-\w+\.pyd$', '.pyd', pyd_file)
    # make full path
    old_file_path = os.path.join(folder_path, pyd_file)
    new_file_path = os.path.join(folder_path, new_name)    
    # rename now
    os.rename(old_file_path, new_file_path)
    print(f"Renamed {new_file_path}")
