</> Cómo funciona
Función pura del español.
| parámetro | tipo | por defecto | qué hace |
|---|---|---|---|
palabra | string | — (obligatorio) | la palabra |
limite | integer | 20 | máximo de resultados (≤100) |
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")]
_bean["_bean()"]
buscar["buscar()"]
buscar --> _bean
_bean -. 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 _bean(x):
# da forma a la respuesta pública de un refrán a partir de una fila
return {"id": x[0], "refran": x[1], "significado": x[2], "explicacion": x[3],
"comentario": x[4], "ejemplo": x[5], "parte1": x[6], "parte2": x[7],
"nivel": x[8], "dificultad": x[9], "frecuencia": x[10],
"imagen": (_IMG_BASE + str(x[11]) + ".jpg") if x[11] else None}
def buscar(cur, palabra, limite=20):
"""Refranes cuyo texto contiene la palabra."""
limite = max(1, min(int(limite), 100)) # se acota el límite: entre 1 y 100
cur.execute(_SQL_BUSCAR, ("%" + palabra + "%", limite))
return {"palabra": palabra, "refranes": [_bean(x) for x in cur.fetchall()]}
Llámala con el código a la vista.
curl "https://api.wordkers.com/v1/refranario/buscar" \
-H "X-API-Key: TU_CLAVE"