local base = "http://s.mort.coffee/mortcc" local files = { bin = { "floor.lua"; "ls.lua"; "help.lua"; "man.lua"; "craft.lua"; "guitest.lua"; }, manpages = { "floor"; "ls"; "help"; "man"; "craft"; }, lib = { mturtle = "mturtle.lua"; util = "util.lua"; program = "program.lua"; graphics = "graphics.lua"; }, run = "run.lua"; update = "update.lua"; } function download(src, dst) local url = base .. src print("Downloading") print(url) local ok, err = http.checkURL(url) if not ok then print(err) return end local h = http.get(url) if h == nil then print("Invalid URL.") return end local f = fs.open(dst, "w") f.write(h.readAll()) f.close() end function mkfiles(dir, path) for key, val in pairs(dir) do if type(key) == "number" then local p = path .. "/" .. val download(p, p) elseif type(val) == "string" then local src = path .. "/" .. val local dst = path .. "/" .. key download(src, dst) else local p = path .. "/" .. key fs.makeDir(p) mkfiles(dir[key], p) end end end mkfiles(files, "")