mirror of
https://github.com/aclist/dztui.git
synced 2024-12-27 04:42:35 +01:00
Merge pull request #180 from aclist/release/5.6.0-beta.19
Release/5.6.0-beta.19
This commit is contained in:
commit
21e9e140d1
3 changed files with 29 additions and 27 deletions
|
@ -1,5 +1,11 @@
|
|||
# Changelog
|
||||
|
||||
## [5.6.0-beta.19] 2024-12-18
|
||||
### Added
|
||||
- Redact usernames in log files
|
||||
### Fixed
|
||||
- More performant symlink traversal when checking for legacy links
|
||||
|
||||
## [5.6.0-beta.18] 2024-12-14
|
||||
### Added
|
||||
- Open Steam workshop subscriptions dialog
|
||||
|
|
5
dzgui.sh
5
dzgui.sh
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
set -o pipefail
|
||||
|
||||
version=5.6.0-beta.18
|
||||
version=5.6.0-beta.19
|
||||
|
||||
#CONSTANTS
|
||||
aid=221100
|
||||
|
@ -83,6 +83,7 @@ logger(){
|
|||
local self="${BASH_SOURCE[0]}"
|
||||
local caller="${FUNCNAME[1]}"
|
||||
local line="${BASH_LINENO[0]}"
|
||||
self="$(<<< "$self" sed 's@\(/[^/]*/\)\([^/]*\)\(.*\)@\1REDACTED\3@g')"
|
||||
printf "%s␞%s␞%s::%s()::%s␞%s\n" "$date" "$tag" "$self" "$caller" "$line" "$string" >> "$debug_log"
|
||||
}
|
||||
setup_dirs(){
|
||||
|
@ -586,7 +587,7 @@ fetch_helpers_by_sum(){
|
|||
["ui.py"]="99544ccef6060125509c4b689a808a15"
|
||||
["query_v2.py"]="55d339ba02512ac69de288eb3be41067"
|
||||
["vdf2json.py"]="2f49f6f5d3af919bebaab2e9c220f397"
|
||||
["funcs"]="98261fdba4323f77c6dd610c1efc4d11"
|
||||
["funcs"]="05f104fcdf27222f04046d41ec48d692"
|
||||
["lan"]="c62e84ddd1457b71a85ad21da662b9af"
|
||||
)
|
||||
local author="aclist"
|
||||
|
|
|
@ -337,8 +337,9 @@ is_in_favs(){
|
|||
find_id(){
|
||||
local file="$default_steam_path/config/loginusers.vdf"
|
||||
[[ ! -f $file ]] && return 1
|
||||
local res=$(python3 $HOME/.local/share/dzgui/helpers/vdf2json.py \
|
||||
-i "$file" | jq -r '.users
|
||||
local res=$(python3 "$helpers_path/vdf2json.py" \
|
||||
-i "$file" \
|
||||
| jq -r '.users
|
||||
|to_entries[]
|
||||
|select(.value.MostRecent=="1")
|
||||
|.key'
|
||||
|
@ -739,6 +740,7 @@ logger(){
|
|||
local self="${BASH_SOURCE[0]}"
|
||||
local caller="${FUNCNAME[1]}"
|
||||
local line="${BASH_LINENO[0]}"
|
||||
self="$(<<< "$self" sed 's@\(/[^/]*/\)\([^/]*\)\(.*\)@\1REDACTED\3@g')"
|
||||
printf "%s␞%s␞%s::%s()::%s␞%s\n" "$date" "$tag" "$self" "$caller" "$line" "$string" >> "$debug_log"
|
||||
}
|
||||
test_ping(){
|
||||
|
@ -1200,29 +1202,22 @@ compare(){
|
|||
}
|
||||
legacy_symlinks(){
|
||||
logger INFO "Removing legacy symlinks"
|
||||
for d in "$game_dir"/*; do
|
||||
if [[ $d =~ @[0-9]+-.+ ]]; then
|
||||
logger INFO "Unlinking '$d'"
|
||||
unlink "$d"
|
||||
fi
|
||||
done
|
||||
readarray -t mod_dirs < <(find "$workshop_dir" -maxdepth 1 -mindepth 1 -type d)
|
||||
logger INFO "Read local mods into array with length: ${#mod_dirs[@]}"
|
||||
[[ ${#mod_dirs[@]} -eq 0 ]] && return
|
||||
logger INFO "Removing legacy encoding format"
|
||||
for d in "${mod_dirs[@]}"; do
|
||||
# suppress errors if mods are downloading at boot
|
||||
logger INFO "Testing directory '$d'"
|
||||
[[ ! -f "$d/meta.cpp" ]] && continue
|
||||
local id=$(awk -F"= " '/publishedid/ {print $2}' "$d"/meta.cpp | awk -F\; '{print $1}')
|
||||
logger INFO "Given id is '$id'"
|
||||
local encoded_id=$(echo "$id" | awk '{printf("%c",$1)}' | base64 | sed 's/\//_/g; s/=//g; s/+/]/g')
|
||||
logger INFO "Resolved id is '$encoded_id'"
|
||||
if [[ -h "$game_dir/@$encoded_id" ]]; then
|
||||
logger INFO "Unlinking '$game_dir/@$encoded_id'"
|
||||
unlink "$game_dir/@$encoded_id"
|
||||
fi
|
||||
done
|
||||
|
||||
readarray -t stale_mod_dirs1 < <(find "$workshop_dir" -maxdepth 1 -mindepth 1 -type l -name '@?*-*')
|
||||
logger INFO "Read local mods into array 1 with length: ${#stale_mod_dirs[@]}"
|
||||
if [[ ${#stale_mod_dirs1} -ne 0 ]]; then
|
||||
for d in "${stale_mod_dirs1[@]}"; do
|
||||
unlink "$game_dir/$d"
|
||||
done
|
||||
fi
|
||||
|
||||
readarray -t stale_mod_dirs2 < <(find "$workshop_dir" -maxdepth 1 -mindepth 1 -type l -name '@??')
|
||||
logger INFO "Read local mods into array 2 with length: ${#stale_mod_dirs[@]}"
|
||||
if [[ ${#stale_mod_dirs2} -eq 0 ]]; then
|
||||
for d in "${stale_mod_dirs2[@]}"; do
|
||||
unlink "$game_dir/$d"
|
||||
done
|
||||
fi
|
||||
}
|
||||
symlinks(){
|
||||
readarray -t mod_dirs < <(find "$workshop_dir" -maxdepth 1 -mindepth 1 -type d)
|
||||
|
|
Loading…
Reference in a new issue