From 1eadba02dc48357e18a729f593c6171e0764bdc0 Mon Sep 17 00:00:00 2001 From: ubq323 Date: Thu, 4 Aug 2022 00:19:14 +0100 Subject: pm --- pm.lua | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/pm.lua b/pm.lua index 72dbdcf..65b56b7 100644 --- a/pm.lua +++ b/pm.lua @@ -78,15 +78,37 @@ local function recursive_filesof(pkgname) return files end +local function fmt_set(set) + local keys = {} + for k in pairs(set) do table.insert(keys,k) end + table.sort(keys) + return "("..#keys..") " .. table.concat(keys,", ") +end + +local function dl(pkgname) + local deps = recursive_depsof(pkgname) + local files = recursive_filesof(pkgname) + print("all dependencies: "..fmt_set(deps)) + print("all files: "..fmt_set(files)) + for file in pairs(files) do + dlfile(file) + end + print"done" +end + + local function dlfile(filename) - local file,err=fs.open("/"..filename,"w") + local src=rbase..filename + local dest="/"..filename + print("downloading "..src.." to "..dest) + local file,err=fs.open(dest,"w") if err then error("fs.open "..err) end - local res,err = http.get("https://g.gh0.pw/ccprogs/plain/"..filename) + local res,err = http.get(src) if err then error("http.get "..err) end file.write(res.readAll()) file.flush() file.close() end -return {manifest=manifest,rd=recursive_depsof,rf=recursive_filesof} +return {manifest=manifest,rd=recursive_depsof,rf=recursive_filesof,dl=dl} --dl(arg[1]) -- cgit v1.2.3