LoloSemper commited on
Commit
071f847
·
verified ·
1 Parent(s): 68029d0

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -14
app.py CHANGED
@@ -1580,6 +1580,17 @@ def apply_lex_patches():
1580
  replaced = True
1581
  break
1582
  if replaced: break
 
 
 
 
 
 
 
 
 
 
 
1583
  ops["add"] += 1
1584
  LEX_PATCH_LOG.append((patch_name, op, es, ni, "ok",
1585
  f"lectura verbal alternativa (principal {old_pos} preservado)"))
@@ -1606,19 +1617,6 @@ def apply_lex_patches():
1606
 
1607
  elif op == "override":
1608
  prev = ES2NI.get(es_l)
1609
- # v145: si el override es N/ADJ y la previa era V, preservar
1610
- # la verbal en ES2NI_VERB. Esto rescata la lectura verbal de
1611
- # plurales como "compras" (V "tú compras" + N "las compras")
1612
- # cuando el parche reasigna el plural como sustantivo. Solo se
1613
- # aplica si ES2NI_VERB no tiene ya algo (no pisamos alternativa
1614
- # verbal previa).
1615
- old_pos = ES2NI_POS.get(es_l, "")
1616
- if (prev is not None and pos in ("N", "ADJ") and old_pos == "V"
1617
- and es_l not in ES2NI_VERB):
1618
- ES2NI_VERB[es_l] = prev
1619
- # log adicional sobre la preservación
1620
- LEX_PATCH_LOG.append((patch_name, op, es, ni, "ok",
1621
- f"verbal preservada en ES2NI_VERB: {prev[0]}"))
1622
  ES2NI[es_l] = (ni, pid)
1623
  NI2ES[ni_l] = (es, pid)
1624
  if pos: ES2NI_POS[es_l] = pos
@@ -2026,7 +2024,7 @@ _register_ipfv_3s_reverse()
2026
  # Coste medido: ~6 s al arranque (3 ejecuciones: 5.5, 5.5, 7.4 s). Una
2027
  # sola pasada al final, no afecta el bucle interno de override. Corrige
2028
  # ~328K entradas NI2ES (verificado en lex actual con 129 parches).
2029
- VERSION_MARKER = "v145_2026_05_20_override_preserve_verbal"
2030
  try:
2031
  print(f"[Neoíbero translator] versión cargada: {VERSION_MARKER}", flush=True)
2032
  print(f"[Neoíbero translator] léxico activo: {CSV_BI}", flush=True)
 
1580
  replaced = True
1581
  break
1582
  if replaced: break
1583
+ else:
1584
+ # v146: el NI verbal alternativo es completamente
1585
+ # nuevo en NI2ES. Sin esto, la inversa NI→ES queda
1586
+ # huérfana (p.ej. "tú kamsistok-ke-śe" no traduciría
1587
+ # a "tú cuentas" tras el parche 172). Registramos la
1588
+ # inversa solo cuando no existía → no rompe ningún
1589
+ # mapping previo. Lo análogo al not ni_already de
1590
+ # la rama v144 de arriba.
1591
+ NI2ES[ni_l] = (es, pid)
1592
+ if " " in ni_l and ni_l not in NIPHRASE2ES:
1593
+ NIPHRASE2ES[ni_l] = (es, pid)
1594
  ops["add"] += 1
1595
  LEX_PATCH_LOG.append((patch_name, op, es, ni, "ok",
1596
  f"lectura verbal alternativa (principal {old_pos} preservado)"))
 
1617
 
1618
  elif op == "override":
1619
  prev = ES2NI.get(es_l)
 
 
 
 
 
 
 
 
 
 
 
 
 
1620
  ES2NI[es_l] = (ni, pid)
1621
  NI2ES[ni_l] = (es, pid)
1622
  if pos: ES2NI_POS[es_l] = pos
 
2024
  # Coste medido: ~6 s al arranque (3 ejecuciones: 5.5, 5.5, 7.4 s). Una
2025
  # sola pasada al final, no afecta el bucle interno de override. Corrige
2026
  # ~328K entradas NI2ES (verificado en lex actual con 129 parches).
2027
+ VERSION_MARKER = "v146_2026_05_20_add_verb_registra_inversa"
2028
  try:
2029
  print(f"[Neoíbero translator] versión cargada: {VERSION_MARKER}", flush=True)
2030
  print(f"[Neoíbero translator] léxico activo: {CSV_BI}", flush=True)