diff options
| author | elvis <elvis@claros.ar> | 2026-09-26 20:20:19 -0300 |
|---|---|---|
| committer | elvis <elvis@claros.ar> | 2026-09-26 20:20:19 -0300 |
| commit | 8518a63f55153e7f45fd49ad6caff5555f4e374f (patch) | |
| tree | 636684eea3fa6f35d78282ab95eb687ef49154af /scripts/buscar-ddgs.sh | |
| parent | 69de76dc9cbedc6092d1e5ce84094a8030de1470 (diff) | |
| download | asist-p-8518a63f55153e7f45fd49ad6caff5555f4e374f.tar.gz asist-p-8518a63f55153e7f45fd49ad6caff5555f4e374f.zip | |
Translate code, comments, logs and terminal UI to English; add English README; rename scriptsHEADmain
Diffstat (limited to 'scripts/buscar-ddgs.sh')
| -rwxr-xr-x | scripts/buscar-ddgs.sh | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/scripts/buscar-ddgs.sh b/scripts/buscar-ddgs.sh deleted file mode 100755 index a366123..0000000 --- a/scripts/buscar-ddgs.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env bash -# Busca con ddgs y escribe los resultados en JSON por la salida estándar. -# -# scripts/buscar-ddgs.sh "<consulta>" [nº de resultados] -# -# ddgs consulta varios buscadores (DuckDuckGo, Brave, Mojeek, Startpage…) sin -# necesitar ninguna clave. Este guion existe para que la configuración del -# asistente no tenga que saber nada de uv ni de entornos de Python: aquí se -# busca un ddgs utilizable y se normaliza la salida. -# -# Ojo con dos cosas que parecen equivalentes y no lo son: -# · `curl` contra html.duckduckgo.com devuelve HTTP 202 con una página -# anti-bot, sin resultados. Medido, no supuesto. -# · La API sin clave api.duckduckgo.com (Instant Answer) devuelve vacío para -# casi todo lo que no sea una entidad de enciclopedia. -# La librería ddgs sí funciona porque rota buscadores y cabeceras. -set -euo pipefail - -CONSULTA="${1:?uso: buscar-ddgs.sh \"<consulta>\" [nº]}" -MAXIMO="${2:-5}" - -PROGRAMA=$(cat <<'PY' -import json, sys -from ddgs import DDGS -consulta, maximo = sys.argv[1], int(sys.argv[2]) -try: - filas = DDGS().text(consulta, max_results=maximo) -except Exception as e: # noqa: BLE001 - print(json.dumps({"error": f"{type(e).__name__}: {e}"}), file=sys.stderr) - raise SystemExit(1) -print(json.dumps(filas, ensure_ascii=False)) -PY -) - -# 1) El entorno de `uv tool install ddgs`: es el camino rápido, porque no hay -# que resolver el paquete en cada búsqueda. -TOOL_PY="$HOME/.local/share/uv/tools/ddgs/bin/python" -if [ -x "$TOOL_PY" ]; then - exec "$TOOL_PY" -c "$PROGRAMA" "$CONSULTA" "$MAXIMO" -fi - -# 2) Un Python del sistema que ya tenga ddgs instalado. -if python3 -c "import ddgs" >/dev/null 2>&1; then - exec python3 -c "$PROGRAMA" "$CONSULTA" "$MAXIMO" -fi - -# 3) uvx, que lo descarga al vuelo. Funciona sin instalar nada, pero añade -# varios segundos a cada búsqueda: mejor `uv tool install ddgs`. -if command -v uvx >/dev/null 2>&1; then - exec uvx --quiet --from ddgs python -c "$PROGRAMA" "$CONSULTA" "$MAXIMO" -fi - -echo '{"error":"no hay ddgs disponible. Instálalo con: uv tool install ddgs"}' >&2 -exit 1 |