diff --git a/scripts/shell/furry-commission-ideas-add-entry.sh b/scripts/shell/furry-commission-ideas-add-entry.sh index c4cb2ea..949df55 100755 --- a/scripts/shell/furry-commission-ideas-add-entry.sh +++ b/scripts/shell/furry-commission-ideas-add-entry.sh @@ -17,9 +17,23 @@ while [ -z "$media_url" ]; do media_url=`input_media_url` done +# remove trailing slashes +media_url=`sed 's:/*$::' <<< "$media_url"` + cd $furry_commission_ideas_path -existing_folders=($(find * -maxdepth 0 -type d)) +existing_folders=($(find * -type d)) + +filtered_existing_folders=() + +# removing artists folder depth 2 only +for folder in "${existing_folders[@]}"; do + if [[ ! $folder =~ ^artists/[^/]+$ ]]; then + filtered_existing_folders+=( "$folder" ) + fi; +done + +existing_folders=("${filtered_existing_folders[@]}") input_create_folder() { read -p "[INFO] Please create one: " new_foldername @@ -36,7 +50,7 @@ if [ -z "${existing_folders}" ]; then new_foldername=$(input_create_folder) done - mkdir "$new_foldername" + mkdir --parents "$new_foldername" selected_folder="$new_foldername" fi @@ -54,7 +68,7 @@ input_select_folder() { selected_folder=`input_create_folder` done - mkdir "$selected_folder" + mkdir --parents "$selected_folder" else selected_folder=${existing_folders[$selected_option]} fi @@ -81,6 +95,11 @@ fi cd $selected_folder +if grep -qE "$media_url" -i "$furry_commission_ideas_urls_filename"; then + echo "[INFO] This folder already has the media informed." + exit 0 +fi + command_output=`$scripts_path/gdl.sh $media_url` media_filenames=()