| 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)}" | |