Files
DynastyRevolution-Scripts/modules/rclone-wizard

47 lines
1.6 KiB
Bash

#!/bin/bash
# DYNR Module: Rclone Wizard
run_rclone_wizard() {
BLUE='\033[38;5;45m'; PURPLE='\033[38;5;127m'; GOLD='\033[38;5;178m'; NC='\033[0m'
HIST_FILE="$HOME/.rclone_dir_history"
echo -e "${PURPLE}--- DYNASTY RCLONE WIZARD ---${NC}"
# 1. Action Selection
PS3=$(echo -e "\n${BLUE}Select Stance:${NC} ")
options=("Copy" "Move" "Quit")
select opt in "${options[@]}"; do
case $opt in
"Copy") ACTION="copy"; break;;
"Move") ACTION="move"; break;;
"Quit") return;;
esac
done
# 2. File Selection (Space-Safe)
echo -e "\n${BLUE}📜 Gathering archives...${NC}"
FILES=$(find . -maxdepth 2 -not -path '*/.*' -print0 | fzf --read0 -m --ansi --color="fg:#1fd9f0,hl:#dba608")
[ -z "$FILES" ] && return
# 3. Remote Selection
REMOTE=$(rclone listremotes | fzf --ansi --header="Select Kingdom (Remote)")
[ -z "$REMOTE" ] && return
# 4. Destination History
if [ -f "$HIST_FILE" ]; then
DEST_DIR=$( (echo "--- NEW PATH ---"; cat "$HIST_FILE") | fzf)
fi
if [[ "$DEST_DIR" == "--- NEW PATH ---" ]] || [[ -z "$DEST_DIR" ]]; then
read -p "Enter Target Path: " DEST_DIR
[ ! -z "$DEST_DIR" ] && echo "$DEST_DIR" >> "$HIST_FILE" && sort -u -o "$HIST_FILE" "$HIST_FILE"
fi
# 5. Execution
echo "$FILES" | tr '\0' '\n' | while read -r FILE; do
if [ ! -z "$FILE" ]; then
echo -e "${BLUE}🐉 Transmitting:${NC} $FILE"
rclone "$ACTION" -P "$FILE" "$REMOTE$DEST_DIR"
echo -e "\a"
fi
done
}