From acc45f83b26908f775dbc3139a09ef36b0de2d67 Mon Sep 17 00:00:00 2001 From: Matheus Albino Date: Sun, 5 May 2024 17:03:55 -0300 Subject: [PATCH] Update furry-commission-ideas-add-entry.sh to make it more interactive --- .../shell/furry-commission-ideas-add-entry.sh | 94 ++++++++++++++++++- 1 file changed, 90 insertions(+), 4 deletions(-) diff --git a/scripts/shell/furry-commission-ideas-add-entry.sh b/scripts/shell/furry-commission-ideas-add-entry.sh index fa7580c..c4cb2ea 100755 --- a/scripts/shell/furry-commission-ideas-add-entry.sh +++ b/scripts/shell/furry-commission-ideas-add-entry.sh @@ -1,12 +1,98 @@ #!/bin/bash +# TODO: add interative selection of "kind of commission" for output folder + cur_dir=`pwd` furry_commission_ideas_path=/mnt/e/home/Documents/sync/gdrive-zakdragonbites/furry-commission-ideas furry_commission_ideas_urls_filename="urls.txt" -media_url=$1 scripts_path=~/repos/cloudalb/personal-devboot/scripts/shell +input_media_url() { + read -p "[INFO] Please inform the media's url: " media_url + echo "$media_url" +} + +media_url=`input_media_url` +while [ -z "$media_url" ]; do + media_url=`input_media_url` +done + cd $furry_commission_ideas_path -media_filename=`$scripts_path/gdl.sh $media_url` -media_filename=`basename $media_filename` -echo "$media_filename: $media_url" >> $furry_commission_ideas_urls_filename + +existing_folders=($(find * -maxdepth 0 -type d)) + +input_create_folder() { + read -p "[INFO] Please create one: " new_foldername + echo "$new_foldername" +} + +selected_folder='' + +if [ -z "${existing_folders}" ]; then + echo "[INFO] There are no folders in the 'furry-commission-ideas' folder." + + new_foldername=$(input_create_folder) + while [ -z "$new_foldername" ]; do + new_foldername=$(input_create_folder) + done + + mkdir "$new_foldername" + selected_folder="$new_foldername" +fi + +input_create_folder() { + read -p "[INFO] Please informe a name for the new folder: " new_foldername + echo "$new_foldername" +} + +input_select_folder() { + read -p "[INFO] Please inform the desired option: " selected_option + + if [ "$selected_option" == 'n' ]; then + selected_folder=`input_create_folder` + while [ -z "$selected_folder" ]; do + selected_folder=`input_create_folder` + done + + mkdir "$selected_folder" + else + selected_folder=${existing_folders[$selected_option]} + fi + + echo "$selected_folder" +} + +if [ -z "$selected_folder" ]; then + echo "[INFO] Folders:" + for ((i = 0; i < ${#existing_folders[@]}; i++)); do + foldername=${existing_folders[$i]} + echo " $i) $foldername" + done + + echo " n) (create a new folder)" + + printf "\n" + + selected_folder=`input_select_folder` + while [ -z "$selected_folder" ]; do + selected_folder=`input_select_folder` + done +fi + +cd $selected_folder + +command_output=`$scripts_path/gdl.sh $media_url` + +media_filenames=() + +for ((i = 0; i < ${#command_output[@]}; i++)); do + filename=${command_output[$i]} + media_filenames+=$(basename "$filename") +done + + +for ((i = 0; i < ${#media_filenames[@]}; i++)); do + media_filename=${media_filenames[$i]} + + echo "$media_filename: $media_url" >> $furry_commission_ideas_urls_filename +done