</> Cómo funciona

Audio de pronunciación

GET
/v1/diccionario/audio
★★☆{ }w1📅

URL del audio de pronunciación de cada acepción (fase 2: carga de los mp3 pendiente).

Parámetros

parámetrotipopor defectoqué hace
palabrastring— (obligatorio)la palabra

Cómo funciona (por dentro)

</>Este endpoint es parte de un módulo con más funciones. Ver el módulo completo →

Mapa de funciones

flowchart TD
  MOD[("repositorio")]
  _media_url["_media_url()"]
  _mvs["_mvs()"]
  audio["audio()"]
  audio --> _media_url
  audio --> _mvs
  _media_url -. datos .-> MOD
  _mvs -. datos .-> MOD
  classDef red fill:#fde7f0,stroke:#c0397b,color:#7a1e4d;
  class MOD red;

El código

# -*- coding: utf-8 -*-
"""diccionario.py — diccionario semántico: una red de asociación de palabras.

Toda consulta LEMATIZA primero la palabra y busca por el LEMA (no por la forma
concreta), sobre la unidad léxica y sus explicaciones. Se apoya en el Índice de
Contiguidad (palabras del mismo campo semántico están "cerca").

Un solo módulo da servicio a varios endpoints del diccionario: definición, ejemplo,
palabras relacionadas, colocaciones, traducción, audio, clasificación de una frase
y el cruce con los refranes. Todos comparten la misma búsqueda base por lema.
"""

import urllib.parse as _url

_IMG_BASE = "https://diccionario.wordkers.es/media/img/"
_AUDIO_BASE = "https://diccionario.wordkers.es/audio/"

# […consultas al repositorio del diccionario + tabla de idiomas (esquema interno)…]


def _media_url(base, fichero):
    # arma la URL pública del recurso (imagen/audio); None si no hay fichero
    return (base + _url.quote(fichero)) if fichero else None


def _mvs(cur, palabra):
    """Búsqueda BASE: filas unidad+explicación de la palabra (ya lematizada).
    Todas las funciones de abajo parten de aquí."""
    cur.execute(_SQL_MV, (palabra, palabra))
    return cur.fetchall()












def audio(cur, palabra):
    """URL del audio de pronunciación de cada acepción (puede venir vacío)."""
    rows = _mvs(cur, palabra)
    out = []
    for r in rows:
        cur.execute(_SQL_AUDIO, (r[1],))           # r[1] = id de la unidad
        a = cur.fetchone()
        out.append({"lema": r[2], "audio": _media_url(_AUDIO_BASE, a[0]) if a else None})
    return {"palabra": palabra, "encontrado": bool(rows), "resultados": out}

Pruébalo

Llámala con el código a la vista.

Ejemplos con el SDK

curl "https://api.wordkers.com/v1/diccionario/audio?palabra=casa" \
  -H "X-API-Key: TU_CLAVE"

Cómo empezar con el SDK →

¿Quieres que cambie algo, o copiar la lógica para lo tuyo? Sin problema — escríbeme. Lo que ves es el algoritmo; los datos y las claves se quedan en casa.

Wordkers · Catálogo · Empezar · Tu cuenta