mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-30 13:25:13 +08:00
🌈 Sync 2026-04-28 04:37:16
This commit is contained in:
1 parent
3b3d0755f2
commit
ed3ad5dca0
1253 files changed
+150
-652660
No files matched your search
@@ -713,18 +713,55 @@ local function ensure_table(parent, key)
|
||||
return parent[key]
|
||||
end
|
||||
|
||||
local function is_array(node)
|
||||
if type(node) ~= "table" then
|
||||
return false
|
||||
end
|
||||
local count = 0
|
||||
for k, _ in pairs(node) do
|
||||
if type(k) ~= "number" or k < 1 or k % 1 ~= 0 then
|
||||
return false
|
||||
end
|
||||
count = count + 1
|
||||
end
|
||||
for i = 1, count do
|
||||
if node[i] == nil then
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
local function prune_empty_tables(node)
|
||||
if type(node) ~= "table" then
|
||||
return false
|
||||
end
|
||||
|
||||
for k, v in pairs(node) do
|
||||
if type(v) == "table" then
|
||||
prune_empty_tables(v)
|
||||
if next(v) == nil then
|
||||
node[k] = nil
|
||||
if is_array(node) then
|
||||
local compact = {}
|
||||
for i = 1, #node do
|
||||
local value = node[i]
|
||||
if type(value) == "table" then
|
||||
if not prune_empty_tables(value) then
|
||||
compact[#compact + 1] = value
|
||||
end
|
||||
else
|
||||
compact[#compact + 1] = value
|
||||
end
|
||||
end
|
||||
for i = #node, 1, -1 do
|
||||
node[i] = nil
|
||||
end
|
||||
for i = 1, #compact do
|
||||
node[i] = compact[i]
|
||||
end
|
||||
return #node == 0
|
||||
end
|
||||
|
||||
for k, v in pairs(node) do
|
||||
if type(v) == "table" and prune_empty_tables(v) then
|
||||
node[k] = nil
|
||||
end
|
||||
end
|
||||
|
||||
return next(node) == nil
|
||||
@@ -905,6 +942,8 @@ if current_env_key and type(current_provider.apiKey) == "string" and current_pro
|
||||
end
|
||||
cfg.env = next(next_env) and next_env or nil
|
||||
|
||||
prune_empty_tables(cfg)
|
||||
|
||||
local encoded = json.stringify(cfg, true)
|
||||
if encoded then
|
||||
encoded = encoded:gsub("\\/", "/")
|
||||
@@ -1335,7 +1374,6 @@ do_start() {
|
||||
ensure_safe_port_for_start || exit 1
|
||||
/etc/init.d/openclawmgr enable >/dev/null 2>&1 || true
|
||||
uci -q set "${UCI_NS}.main.enabled=1" && uci -q commit "$UCI_NS" || true
|
||||
ensure_gateway_config || true
|
||||
/etc/init.d/openclawmgr restart >/dev/null 2>&1 || /etc/init.d/openclawmgr start >/dev/null 2>&1 || true
|
||||
write_installer_log "== start done =="
|
||||
}
|
||||
@@ -1356,7 +1394,6 @@ do_restart() {
|
||||
fix_data_permissions || true
|
||||
ensure_token
|
||||
ensure_safe_port_for_start || exit 1
|
||||
ensure_gateway_config || true
|
||||
/etc/init.d/openclawmgr restart >/dev/null 2>&1 || true
|
||||
write_installer_log "== restart done =="
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user