mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-09-11 01:44:38 +00:00
Refactor: Gotify (#6301)
* Refactor Gotify * Add tools.func fix * Update gotify.sh
This commit is contained in:
parent
1f1bc5f12d
commit
69e947246a
4 changed files with 34 additions and 29 deletions
|
@ -959,7 +959,7 @@ function fetch_and_deploy_gh_release() {
|
|||
$STD apt-get install -y unzip
|
||||
fi
|
||||
unzip -q "$tmpdir/$filename" -d "$unpack_tmp"
|
||||
elif [[ "$filename" == *.tar.* ]]; then
|
||||
elif [[ "$filename" == *.tar.* || "$filename" == *.tgz ]]; then
|
||||
tar -xf "$tmpdir/$filename" -C "$unpack_tmp"
|
||||
else
|
||||
msg_error "Unsupported archive format: $filename"
|
||||
|
@ -969,23 +969,41 @@ function fetch_and_deploy_gh_release() {
|
|||
|
||||
local top_dirs
|
||||
top_dirs=$(find "$unpack_tmp" -mindepth 1 -maxdepth 1 -type d | wc -l)
|
||||
|
||||
if [[ "$top_dirs" -eq 1 ]]; then
|
||||
local top_entries inner_dir
|
||||
top_entries=$(find "$unpack_tmp" -mindepth 1 -maxdepth 1)
|
||||
if [[ "$(echo "$top_entries" | wc -l)" -eq 1 && -d "$top_entries" ]]; then
|
||||
# Strip leading folder
|
||||
local inner_dir
|
||||
inner_dir=$(find "$unpack_tmp" -mindepth 1 -maxdepth 1 -type d)
|
||||
inner_dir="$top_entries"
|
||||
shopt -s dotglob nullglob
|
||||
cp -r "$inner_dir"/* "$target/"
|
||||
if compgen -G "$inner_dir/*" >/dev/null; then
|
||||
cp -r "$inner_dir"/* "$target/" || {
|
||||
msg_error "Failed to copy contents from $inner_dir to $target"
|
||||
rm -rf "$tmpdir" "$unpack_tmp"
|
||||
return 1
|
||||
}
|
||||
else
|
||||
msg_error "Inner directory is empty: $inner_dir"
|
||||
rm -rf "$tmpdir" "$unpack_tmp"
|
||||
return 1
|
||||
fi
|
||||
shopt -u dotglob nullglob
|
||||
else
|
||||
# Copy all contents
|
||||
shopt -s dotglob nullglob
|
||||
cp -r "$unpack_tmp"/* "$target/"
|
||||
if compgen -G "$unpack_tmp/*" >/dev/null; then
|
||||
cp -r "$unpack_tmp"/* "$target/" || {
|
||||
msg_error "Failed to copy contents to $target"
|
||||
rm -rf "$tmpdir" "$unpack_tmp"
|
||||
return 1
|
||||
}
|
||||
else
|
||||
msg_error "Unpacked archive is empty"
|
||||
rm -rf "$tmpdir" "$unpack_tmp"
|
||||
return 1
|
||||
fi
|
||||
shopt -u dotglob nullglob
|
||||
fi
|
||||
|
||||
rm -rf "$unpack_tmp"
|
||||
|
||||
### Singlefile Mode ###
|
||||
elif [[ "$mode" == "singlefile" ]]; then
|
||||
local pattern="${6%\"}"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue