Sirshark10

pack.lua

Jul 21st, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local args = {...}
  2. if not pack then
  3.    _G.pack = {}
  4. end
  5. local function pu()
  6.    printError("pack <add/remove/dump/out/read> <input/output>")
  7. end
  8.  
  9. local cmd = args[1] or ""
  10.  
  11. if cmd == "add" then
  12.    if fs.exists(args[2]) then
  13.       local file = fs.open(args[2],"r")
  14.       local r = file.readAll()
  15.       pack[tostring(args[2])] = r
  16.       file.close()
  17.       print("Added File: "..tostring(args[2]))
  18.    end
  19. elseif cmd == "out" then
  20.    local file = fs.open(args[2],"w")
  21.    local op = textutils.serialise(pack)
  22.    file.write("local FILE = ")
  23.    file.write(op)
  24.    
  25.    file.writeLine(" ")
  26.    file.write([[
  27.    for k,v in pairs(FILE) do
  28.        local file = fs.open(k,'w')
  29.        file.write(v)
  30.        file.close()
  31.        print("Wrote file: "..k)
  32.    end
  33.    ]])
  34.    
  35.    file.close()
  36.    print("Created package file: "..tostring(args[2]))
  37. elseif cmd == "dump" then
  38.    for k,v in pairs(pack) do
  39.       print(k)
  40.    end
  41. elseif cmd == "read" then
  42.     if fs.exists(args[2]) then
  43.         local file = fs.open(args[2],"r")
  44.         local r = file.readAll()
  45.         local ret = textutils.unserialise(r)
  46.         file.close()
  47.         for k,v in pairs(ret) do
  48.             local file = fs.open(k,"w")
  49.             file.write(v)
  50.             file.close()
  51.             print("Wrote File: "..k)
  52.         end
  53.     end
  54. elseif cmd == "remove" then
  55.    pack[args[2]] = nil
  56.    print("Removed File: "..args[2])
  57. else
  58.    pu()
  59. end
Add Comment
Please, Sign In to add comment