aboutsummaryrefslogtreecommitdiffstats
path: root/tools/search_wolframalpha.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/search_wolframalpha.sh')
-rwxr-xr-xtools/search_wolframalpha.sh16
1 files changed, 4 insertions, 12 deletions
diff --git a/tools/search_wolframalpha.sh b/tools/search_wolframalpha.sh
index a2dfdc7..20488bf 100755
--- a/tools/search_wolframalpha.sh
+++ b/tools/search_wolframalpha.sh
@@ -3,22 +3,14 @@ set -e
# @describe Get an answer to a question using Wolfram Alpha. Input should the query in English.
# Use it to answer user questions that require computation, detailed facts, data analysis, or complex queries.
-# This ensures accurate and precise answers.
+# @env WOLFRAM_API_ID! The api id
# @option --query! The query to search for.
-# @env WOLFRAM_API_ID!
main() {
- local curl_args=(
- -sSf -G
- --data-urlencode "output=JSON"
- --data-urlencode "format=plaintext"
- --data-urlencode "input=$argc_query"
- --data-urlencode "appid=$WOLFRAM_API_ID"
- "https://api.wolframalpha.com/v2/query"
- )
- curl "${curl_args[@]}" | \
- jq -r '.queryresult.pods[] | select(.subpods[0].plaintext != "")'
+ encoded_query="$(jq -nr --arg q "$argc_query" '$q|@uri')"
+ url="https://api.wolframalpha.com/v2/query?appid=$WOLFRAM_API_ID&input=$encoded_query&output=json&format=plaintext"
+ curl -fsSL "$url" | jq '[.queryresult | .pods[] | {title:.title, values:[.subpods[].plaintext | select(. != "")]}]'
}
eval "$(argc --argc-eval "$0" "$@")"