diff options
Diffstat (limited to 'tools/search_wolframalpha.sh')
| -rwxr-xr-x | tools/search_wolframalpha.sh | 16 |
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" "$@")" |
