Add startup script for automatic file updates and launching inventoryManager

This commit is contained in:
MayaTheShy
2026-03-22 03:08:51 -04:00
parent 479e1918f5
commit 9a7d4b3175

76
startup/manager.lua Normal file
View File

@@ -0,0 +1,76 @@
-- startup.lua for Inventory Manager computer
-- Auto-updates from git then launches inventoryManager.lua
local REPO_RAW = "https://git.spatulaa.com/MayaTheShy/Inventory-Manager-CC/raw/branch/main"
-- Files to download (destination -> repo path)
local FILES = {
["inventoryManager.lua"] = "inventoryManager.lua",
["lib/log.lua"] = "lib/log.lua",
["lib/ui.lua"] = "lib/ui.lua",
["data/smeltable.lua"] = "data/smeltable.lua",
["data/fuel.lua"] = "data/fuel.lua",
["data/compostable.lua"] = "data/compostable.lua",
["data/craftable.lua"] = "data/craftable.lua",
["data/alerts.lua"] = "data/alerts.lua",
}
-------------------------------------------------
local function ensureDir(filePath)
local dir = filePath:match("^(.+)/")
if dir and not fs.isDir(dir) then
fs.makeDir(dir)
end
end
local function download(remotePath, localPath)
local url = REPO_RAW .. "/" .. remotePath
local response = http.get(url)
if response then
ensureDir(localPath)
local f = fs.open(localPath, "w")
f.write(response.readAll())
f.close()
response.close()
return true
end
return false
end
-------------------------------------------------
term.clear()
term.setCursorPos(1, 1)
print("==================================")
print(" Inventory Manager - Startup")
print(" Computer ID: " .. os.getComputerID())
print("==================================")
print("")
-- Update files
local updated, failed = 0, 0
for localPath, remotePath in pairs(FILES) do
write(" " .. localPath .. " ... ")
if download(remotePath, localPath) then
print("OK")
updated = updated + 1
else
print("FAIL")
failed = failed + 1
end
end
print("")
if failed > 0 then
print(string.format("Updated %d files, %d failed.", updated, failed))
print("Continuing with existing files...")
else
print(string.format("All %d files up to date.", updated))
end
print("")
print("Starting inventoryManager...")
sleep(1)
shell.run("inventoryManager.lua")