From f2954f22fde465546b6e5519bee898d9c92f26f6 Mon Sep 17 00:00:00 2001 From: Frank Harris Date: Tue, 9 Jun 2026 10:13:29 -0500 Subject: [PATCH] fix workshop job manifest parser --- .../workshop/panel_generated_steamcmd_job | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Panel/modules/addonsmanager/scripts/workshop/panel_generated_steamcmd_job b/Panel/modules/addonsmanager/scripts/workshop/panel_generated_steamcmd_job index 3a746e08..a2f6113c 100755 --- a/Panel/modules/addonsmanager/scripts/workshop/panel_generated_steamcmd_job +++ b/Panel/modules/addonsmanager/scripts/workshop/panel_generated_steamcmd_job @@ -13,20 +13,26 @@ log() { } json_value() { local key="$1" - perl -0777 -ne ' - my $k = shift @ARGV; - if (/"\Q$k\E"\s*:\s*"([^"]*)"/s) { + KEY="$key" MANIFEST_FILE="$MANIFEST" perl -0777 -e ' + my $k = $ENV{"KEY"}; + my $f = $ENV{"MANIFEST_FILE"}; + open my $fh, "<", $f or exit 1; + local $/; + my $json = <$fh>; + if ($json =~ /"\Q$k\E"\s*:\s*"([^"]*)"/s) { my $v = $1; $v =~ s/\\\//\//g; print $v; - exit; + exit 0; } - if (/"\Q$k\E"\s*:\s*([0-9]+)/s) { + if ($json =~ /"\Q$k\E"\s*:\s*([0-9]+)/s) { print $1; - exit; + exit 0; } - ' "$key" "$MANIFEST" + exit 0; + ' } + json_items() { perl -0777 -ne ' if (/"items"\s*:\s*\[(.*?)\]/s) {