import os
import shutil

files = [f for f in os.listdir() if os.path.isfile(f)]

SCRIPT_NAME = "main.py"

if SCRIPT_NAME in files:
    files.remove(SCRIPT_NAME)
    
    
FILE_TYPES = {
    "Images":[".png", ".jpg", ".jpeg", ".gif"],
    "Docs": [".txt", ".docx", ".pdf", ".doc"],
    "Media": [".mp3", ".mp4", ".flv", ".avi"],
    "Website": [".html", ".css", ".js", ".php",".json"]
}


for folder in FILE_TYPES.keys():
    os.makedirs(folder, exist_ok=True)

os.makedirs("Others", exist_ok=True)


def get_extension(filename):
    return os.path.splitext(filename)[1].lower()

def move_file(file , folder):
    shutil.move(file , os.path.join(folder,file))
    
    
for file in files:
    move = False
    ext = get_extension(file)
    
    for folder, extensions in FILE_TYPES.items():
        if ext in extensions:
            move_file(file, folder)
            move = True
            break
    
    if not move:
        move_file(file, "Others") 