</> Cómo funciona
Función pura del español.
| parámetro | tipo | por defecto | qué hace |
|---|---|---|---|
refran | string | opcional | refran |
id | integer | opcional | identificador |
idioma | string | opcional | filtra por idioma (opcional) |
commons/refranario.py — un módulo con el formateador base _bean() y las funciones de cada endpoint (buscar, por lema, al azar, ficha, sinónimos, variantes, traducciones, enlaces con el diccionario, mezclador)._bean()); por eso van en una sola página.flowchart TD
MOD[("repositorio")]
_get["_get()"]
traducciones["traducciones()"]
traducciones --> _get
_get -. datos .-> MOD
classDef red fill:#fde7f0,stroke:#c0397b,color:#7a1e4d;
class MOD red;# -*- coding: utf-8 -*-
"""refranario.py — diccionario de refranes españoles.
Búsqueda por texto del refrán o POR LEMA (lematizando la palabra). Cada refrán trae
significado, explicación, ejemplo, sus dos partes (para el juego «completa el refrán»),
nivel y dificultad; y sus relaciones: sinónimos, variantes y traducciones.
Un solo módulo da servicio a muchos endpoints del refranero: buscar, por lema, al azar,
ficha, sinónimos, variantes, traducciones, el cruce con el diccionario y el mezclador.
"""
_AUDIO_BASE = "https://refranes.wordkers.es/audio/"
_IMG_BASE = "https://refranes.wordkers.es/media/img/" # ilustraciones (jpg)
# […consultas al repositorio de refranes (esquema interno: refranes y sus relaciones)…]
def _get(cur, texto=None, id=None):
# busca un refrán por id (preferente) o por su texto exacto
cur.execute(_SQL_GET_ID if id is not None else _SQL_GET_TEXTO, (id if id is not None else texto,))
return cur.fetchone()
def traducciones(cur, texto=None, id=None, idioma=None):
"""Equivalentes del refrán en otros idiomas (opcionalmente filtrado por `idioma`)."""
row = _get(cur, texto, id)
if not row:
return {"encontrado": False, "traducciones": []}
q, params = _SQL_TRAD, [row[0]]
if idioma: # filtro opcional por idioma
q += _SQL_TRAD_IDIOMA
params.append(idioma)
cur.execute(q, params)
return {"encontrado": True, "refran": row[1],
"traducciones": [{"idioma": x[1], "refran": x[0]} for x in cur.fetchall()]}
Llámala con el código a la vista.
curl "https://api.wordkers.com/v1/refranario/traduccion" \
-H "X-API-Key: TU_CLAVE"