49 lines
1.3 KiB
Bash
49 lines
1.3 KiB
Bash
#! /usr/bin/env bash
|
|
|
|
operation=${1:-$(gum choose rmlint download git)}
|
|
|
|
case $operation in
|
|
rmlint)
|
|
rmlint -g --types="duplicates" \
|
|
--config=sh:handler=clone \
|
|
/srv/pool/
|
|
;;
|
|
download)
|
|
ENTRY=$(zenity --entry --width=250 \
|
|
--title "Insert a link" \
|
|
--text="Verify the following link is correct" \
|
|
--add-entry="Link:" \
|
|
--entry-text "$(xclip -o -sel clip)")
|
|
if [ -n "$ENTRY" ]; then
|
|
cmd="download -u jawz"
|
|
|
|
if ! zenity --question --text "Use archive database?" \
|
|
--ok-label="Yes" --cancel-label="Cancel"; then
|
|
cmd+=" -a"
|
|
fi
|
|
if ! zenity --question --text "Skip downloaded files?" \
|
|
--ok-label="Yes" --cancel-label="Cancel"; then
|
|
cmd+=" -s"
|
|
fi
|
|
|
|
cmd+=" -i \"$ENTRY\" "
|
|
ghostty -e "$cmd"
|
|
else
|
|
zenity --error --width=250 \
|
|
--text "Please verify and try again"
|
|
fi
|
|
;;
|
|
git)
|
|
git_dir=$HOME/Development/Git
|
|
while IFS= read -r repo; do
|
|
if ! [ -d "$repo/.git" ]; then
|
|
continue
|
|
fi
|
|
cd "$repo" || exit
|
|
gum style --foreground 2 "Updating $(basename "$repo")"
|
|
git fsck --full
|
|
git pull
|
|
done < <(fd . "$git_dir" -td --absolute-path -d 1)
|
|
;;
|
|
esac
|