import os

def fix_encoding(text):
    # Mēģinām biežākos Windows-Linux nepareizos kodējumus
    try:
        # Ja Windows ir saglabājis kā CP437 (default ZIP)
        return text.encode('cp437').decode('utf-8')
    except:
        try:
            # Ja Windows-1257 (Baltic)
            return text.encode('cp1252').decode('utf-8')
        except:
            return text

def slugify_latvian(text):
    # Drošības pēc — ja neizdodas atkodēt, vismaz noņemam dīvainos simbolus
    # un aizstājam latviešu burtus ar parastiem (serverim drošāk)
    replacements = {
        'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'i': 'i', 'ķ': 'k', 'ļ': 'l', 'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z',
        'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'I', 'Ķ': 'K', 'Ļ': 'L', 'Ņ': 'N', 'Š': 'S', 'Ū': 'U', 'Ž': 'Z'
    }
    # Šeit varētu būt sabojātie simboli no ekrānšāviņa:
    corruption_map = {
        '—Б': 'a', '—У': 'e', '—К': 'i', '—М': 'u', '—†': 's', '—Ќ': 'c' # orientējoši pēc redzētā
    }
    
    res = text
    for k, v in corruption_map.items():
        res = res.replace(k, v)
    for k, v in replacements.items():
        res = res.replace(k, v)
    
    # Noņemam atlikušos dīvainos simbolus, atstājam burtus, ciparus, punktus un pasvītras
    import re
    res = re.sub(r'[^a-zA-Z0-9._-]', '_', res)
    return res

def clean_directory(directory):
    if not os.path.exists(directory):
        print(f"Mape nav atrasta: {directory}")
        return

    print(f"Sāku tīrīt mapi: {directory}")
    
    for filename in os.listdir(directory):
        old_path = os.path.join(directory, filename)
        if os.path.isdir(old_path): continue
        
        # Izveidojam jaunu, "tīru" nosaukumu
        new_name = slugify_latvian(filename)
        
        if new_name != filename:
            new_path = os.path.join(directory, new_name)
            try:
                os.rename(old_path, new_path)
                print(f"✅ FIXED: {filename} -> {new_name}")
            except Exception as e:
                print(f"❌ Neizdevās pārsaukt {filename}: {e}")
        else:
            print(f"ℹ️ SKIP: {filename} (jau ir tīrs)")

if __name__ == "__main__":
    # Ceļš līdz KURSS mapei
    target_dir = os.path.join(os.path.dirname(__file__), "knowledge_base", "KURSS")
    clean_directory(target_dir)
    print("\n🎉 Gatavs! Tagad vari droši palaist process_kurss.py")
