From 69eae00ec1cd23bfa7fa64c058cd57d24ef7bf96 Mon Sep 17 00:00:00 2001 From: XeonSquared Date: Fri, 8 Nov 2019 21:01:01 +1100 Subject: [PATCH] added fs.mounts(), fs.address(path) and fs.type(path) to provide more information about mounted filesystems --- module/fs.lua | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/module/fs.lua b/module/fs.lua index 63145ad..1eb7b3e 100644 --- a/module/fs.lua +++ b/module/fs.lua @@ -27,7 +27,7 @@ function fs.resolve(path) -- resolves *path* to a specific filesystem mount and end -- generate some simple functions -for k,v in pairs({"makeDirectory","exists","isDirectory","list","lastModified","remove","size","spaceUsed","isReadOnly","getLabel"}) do +for k,v in pairs({"makeDirectory","exists","isDirectory","list","lastModified","remove","size","spaceUsed","spaceTotal","isReadOnly","getLabel"}) do fs[v] = function(path) local fsi,path = fs.resolve(path) return fsmounts[fsi][v](path) @@ -107,6 +107,23 @@ function fs.mount(path,proxy) return false, "path is not a directory" end +function fs.mounts() + local rt = {} + for k,v in pairs(fsmounts) do + rt[#rt+1] = k,v.address or "unknown" + end + return rt +end + +function fs.address(path) + local fsi,_ = fs.resolve(path) + return fsmounts[fsi].address +end +function fs.type(path) + local fsi,_ = fs.resolve(path) + return fsmounts[fsi].type +end + fsmounts["/"] = component.proxy(computer.tmpAddress()) fs.makeDirectory("temp") if computer.getBootAddress then