From f82f81ff00e164b54dfda09ab2de612eb968766c Mon Sep 17 00:00:00 2001 From: Samantaz Fox Date: Wed, 12 Jun 2024 22:43:27 +0200 Subject: [PATCH] api-helper: Allow querying all clients at once --- scripts/yt-api-helper.sh | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/scripts/yt-api-helper.sh b/scripts/yt-api-helper.sh index 0bcb0ea..3df132c 100755 --- a/scripts/yt-api-helper.sh +++ b/scripts/yt-api-helper.sh @@ -569,11 +569,34 @@ fi # Run the request # -client_select "$client_option" +# Only ran once (this requests some additional data in interactive mode) endpoint_select "$endpoint_option" -if [ $interactive = true ]; then - data=$(make_request_data) -fi +if [ "$client_option" = "all" ]; then + # Run the client selector (get client-specific infos) and request for each client + if [ -z "$output" ]; then + printf "\nAll clients requested, response will be written to output file anyway\n" >&2 + output=response-$endpoint_option.$(date '+%s') + else + output=$(basename "$output" ".json") + fi -send_request "$data" "$output" + for client_name in $ALL_CLIENTS; do + client_select "$client_name" + + if [ $interactive = true ]; then + data=$(make_request_data) + fi + + send_request "$data" "$output.$client_name.json" + done +else + # Run the client selection and request only once + client_select "$client_option" + + if [ $interactive = true ]; then + data=$(make_request_data); + fi + + send_request "$data" "$output" +fi