images-indexer.sh stores in multiple folders now
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user