1
0
Fork 0
mirror of https://github.com/aclist/dztui.git synced 2025-04-08 21:43:03 +02:00

feat: iterate mod deletion

This commit is contained in:
aclist 2024-11-13 09:43:23 +09:00
parent c254de2aec
commit d6d8dde2aa

View file

@ -38,6 +38,7 @@ lock_file="$state_path/$prefix.lock"
#CACHE #CACHE
cache_dir="$HOME/.cache/$app_name" cache_dir="$HOME/.cache/$app_name"
_cache_servers="$cache_dir/$prefix.servers" _cache_servers="$cache_dir/$prefix.servers"
_cache_mods_temp="$cache_dir/$prefix.mods_temp"
_cache_temp="$cache_dir/$prefix.temp" _cache_temp="$cache_dir/$prefix.temp"
_cache_my_servers="$cache_dir/$prefix.my_servers" _cache_my_servers="$cache_dir/$prefix.my_servers"
_cache_history="$cache_dir/$prefix.history" _cache_history="$cache_dir/$prefix.history"
@ -580,12 +581,23 @@ parse_server_json(){
} }
delete_local_mod(){ delete_local_mod(){
shift shift
if [[ -z $1 ]]; then
# use multi mode
readarray -t symlinks < <(awk '{print $1}' $_cache_mods_temp)
readarray -t ids < <(awk '{print $2}' $_cache_mods_temp)
rm "$_cache_mods_temp"
else
local symlink="$1" local symlink="$1"
local dir="$2" local dir="$2"
[[ ! -d $workshop_dir/$dir ]] && return 1 readarray -t symlinks <<< "$symlink"
[[ ! -L $game_dir/$symlink ]] && return 1 readarray -t ids <<< "$dir"
fi
for ((i=0; i<${#symlinks[@]}; i++)); do
[[ ! -d $workshop_dir/${ids[$i]} ]] && return 1
[[ ! -L $game_dir/${symlinks[$i]} ]] && return 1
#SC2115 #SC2115
rm -rf "${workshop_dir:?}/$dir" && unlink "$game_dir/$symlink" || return 1 rm -rf "${workshop_dir:?}/${ids[$i]}" && unlink "$game_dir/${symlinks[$i]}" || return 1
done
} }
test_cooldown(){ test_cooldown(){
[[ ! -f $_cache_cooldown ]] && return 0 [[ ! -f $_cache_cooldown ]] && return 0