Biopsy

utils 3.0

Jun 1st, 2012
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.71 KB | None | 0 0
  1. local tempvarlist = {}
  2.  
  3. function termwrite(message)
  4.   cx, cy = term.getCursorPos()
  5.   mx, my = term.getSize()
  6.   term.write(message)
  7.   if(cy == my) then
  8.     term.scroll(1)
  9.     term.setCursorPos(1, cy)
  10.   else
  11.     term.setCursorPos(1, cy + 1)
  12.   end  
  13. end
  14.  
  15. function copytable(t)
  16.   local t2 = {}
  17.   for k,v in pairs(t) do
  18.     t2[k] = v
  19.   end
  20.   return t2
  21. end
  22.  
  23. function download(source, destination)
  24.   local tmpF = http.get(source)
  25.   sleep(5)
  26.   local txt = tmpF:readAll()
  27.   local file = io.open(destination, "w")
  28.   file:write(txt)
  29.   file:close()
  30. end
  31.  
  32. local function save(filename)
  33.   if(fs.exists(filename)) then
  34.     fs.delete(filename)
  35.   end
  36.   file = fs.open(filename, "w")
  37.   for k, v in pairs(tempvarlist) do
  38.     file.writeLine(textutils.serialize({k, v}))
  39.   end
  40.   file:close()
  41. end
  42.  
  43. local function load(filename)
  44.   tempvarlist = {}
  45.   if(not fs.exists(filename)) then
  46.     save(filename)
  47.   end
  48.   file = fs.open(filename, "r")
  49.   line = file.readLine()
  50.   while((line ~= nil) and (line ~= "")) do
  51.     pref = textutils.unserialize(line)
  52.     tempvarlist[pref[1]] = pref[2]
  53.     line = file.readLine()
  54.   end
  55.   file:close()
  56. end
  57.  
  58. function saveVar(filename, entry, value, default)
  59.   load(filename)
  60.   if(value == nil) then
  61.     tempvarlist[entry] = default
  62.   else
  63.     tempvarlist[entry] = value
  64.   end
  65.   save(filename)
  66. end
  67.  
  68. function loadVar(filename, entry, default)
  69.   load(filename)
  70.   value = tempvarlist[entry]
  71.   if(value == nil) then
  72.     return default
  73.   else
  74.     return value
  75.   end
  76. end
  77.  
  78. function deleteVar(filename, entry)
  79.   load(filename)
  80.   tempvarlist[entry] = nil
  81.   save(filename)
  82. end
  83.  
  84. function containsVar(filename, entry)
  85.   load(filename)
  86.   return(tempvarlist[entry] ~= nil)
  87. end
Advertisement
Add Comment
Please, Sign In to add comment