images-indexer.sh stores in multiple folders now

This commit is contained in:
Matheus Albino
2024-12-10 20:57:50 -03:00
parent b395570617
commit 2c412e4d00

View File

@@ -56,6 +56,7 @@ if [ ${#commands_not_found[@]} -ne 0 ]; then
fi
furry_commission_ideas_path=/mnt/e/clouds/nextcloud/furry-downloads
# furry_commission_ideas_path=/mnt/e/home/downloads/furry-downloads
furry_commission_ideas_urls_filename="urls.txt"
scripts_path=/home/cloud/repos/personal-devboot/scripts/shell
@@ -118,14 +119,18 @@ input_create_folder() {
echo "$new_foldername"
}
input_select_folder() {
read_command_message="Please select a folder"
selected_folders=()
selected_option=$(read_command $read_command_message)
while [ -z "$selected_option" ]; do
selected_option=$(read_command $read_command_message)
input_selected_folders_and_fill_selected_folders_variable() {
read_command_message="Please select a folder (separation by comma)"
selected_options_arg=$(read_command $read_command_message)
while [ -z "$selected_options_arg" ]; do
selected_options_arg=$(read_command $read_command_message)
done
selected_options=($(convert_csv_to_array "$selected_options_arg"))
if [ "$selected_option" == 'n' ]; then
new_folder_input_message="Please create a new folder"
@@ -136,12 +141,21 @@ input_select_folder() {
mkdir --parents "$new_foldername"
selected_folder=$new_foldername
selected_folders=("$new_foldername")
else
for selected_option in ${selected_options[@]}; do
selected_folder=${existing_folders[$selected_option]}
if [ -z "$selected_folder" ]; then
echo ""
echo "A selected option is not valid ('$selected_option')"
echo "Exiting..."
exit 1
fi
echo "$selected_folder"
selected_folders+=("$selected_folder")
done
fi
}
show_folder_selection_list_and_fill_selected_folder_variable() {
@@ -184,9 +198,9 @@ show_folder_selection_list_and_fill_selected_folder_variable() {
printf "\n"
selected_folder=$(input_select_folder)
input_selected_folders_and_fill_selected_folders_variable
while [ -z "$selected_folder" ]; do
selected_folder=$(input_select_folder)
input_selected_folders_and_fill_selected_folders_variable
done
fi
else
@@ -204,9 +218,9 @@ show_folder_selection_list_and_fill_selected_folder_variable() {
printf "\n"
selected_folder=$(input_select_folder)
while [ -z "$selected_folder" ]; do
selected_folder=$(input_select_folder)
input_selected_folders_and_fill_selected_folders_variable
while [ -z "$selected_folders" ]; do
input_selected_folders_and_fill_selected_folders_variable
done
fi
fi
@@ -237,8 +251,6 @@ fill_existing_folders_array() {
existing_folders=($(eval $find_command))
selected_folder=''
if [ -z "${existing_folders}" ]; then
echo ""
echo "[INFO] There are no folders in the 'furry-commission-ideas' folder."
@@ -400,27 +412,28 @@ generate_random_string_with_suffix() {
image_download_steps() {
url_to_download=$1
tmp_dir="/tmp"
for folder in "${selected_folders[@]}"; do
cd "${furry_commission_ideas_path}/${folder}"
if [ -f "$furry_commission_ideas_urls_filename" ] && grep -qE "$url_to_download" -i "$furry_commission_ideas_urls_filename"; then
echo ""
if [ $interactive_mode ]; then
echo "[INFO] The folder informed already has the URL informed"
echo " URL: ${url_to_download}"
else
echo "[INFO] This folder already has the url informed."
fi
echo " Folder: ${folder}"
return
continue
fi
done
media_extension=$(get_information_from_gallery_dl_media "$url_to_download" "extension")
temp_dirpath="/tmp"
temp_filename=$(generate_random_string_with_suffix "$media_extension")
tmp_filename=$(generate_random_string_with_suffix "$media_extension")
echo ""
echo "Download starting..."
gallery-dl --quiet --directory ${temp_dirpath} --filename ${temp_filename} $url_to_download
gallery-dl --quiet --directory ${tmp_dir} --filename ${tmp_filename} $url_to_download
if [[ $? -ne 0 ]]; then
unsucessful_downloads+="$url_to_download"
@@ -429,15 +442,21 @@ image_download_steps() {
echo "Download finished."
final_temp_filepath="${temp_dirpath}/${temp_filename}"
for folder in "${selected_folders[@]}"; do
cd "${furry_commission_ideas_path}/${folder}"
final_temp_filepath="${tmp_dir}/${tmp_filename}"
final_temp_filepath_md5=($(md5sum $final_temp_filepath))
final_filename="${final_temp_filepath_md5}.${media_extension}"
mv ${final_temp_filepath} ./${final_filename}
cp $final_temp_filepath ./${final_filename}
echo "$final_filename,$url_to_download" >>$furry_commission_ideas_urls_filename
done
rm $tmp_dir/$tmp_filename
}
fill_existing_folders_array
@@ -470,9 +489,6 @@ else
done
show_folder_selection_list_and_fill_selected_folder_variable
cd "${furry_commission_ideas_path}/${selected_folder}"
image_download_steps "${url}"
done
fi