File size: 977 Bytes
447d423
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from supabase import create_client, Client
from dotenv import load_dotenv
import os

load_dotenv()

url = os.getenv("database_url")
key = os.getenv("database_service_Key")

supabase: Client = create_client(url, key)

def generate_id(lang_code: str, dialect: str | None) -> str:
    # Normaliza dialecto si existe
    if dialect and dialect.strip():
        dialect_clean = dialect.replace(" ", "_").lower()
    else:
        dialect_clean = None
    
    # Construye la query base
    query = supabase.table("idioms").select("id", count="exact").eq("language", lang_code)
    if dialect_clean:
        query = query.eq("language", lang_code)
    else:
        query = query.eq("language", lang_code )  # si lo guardas como NULL
    
    res = query.execute()
    counter = res.count + 1
    
    # Genera ID
    if dialect_clean:
        return f"{lang_code}_{dialect_clean}_{str(counter).zfill(4)}"
    else:
        return f"{lang_code}_unspecified_{str(counter).zfill(4)}"