Forte40

Crafting with OpenPeripherals

Apr 2nd, 2014
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.67 KB | None | 0 0
  1. --http://pastebin.com/V8ZhpNZi
  2.  
  3. if not http then
  4.   print("No access to web")
  5.   return
  6. end
  7.  
  8. local branch = "master"
  9.  
  10. local files = {
  11.   {
  12.     name = "opencraft-install",
  13.     url = "https://raw.github.com/Forte40/opencraft/"..branch.."/opencraft-install.lua"
  14.   },
  15.   {
  16.     name = "opencraft",
  17.     url = "https://raw.github.com/Forte40/opencraft/"..branch.."/opencraft.lua"
  18.   },
  19.   {
  20.     name = "panel",
  21.     folder = "apis",
  22.     url = "https://raw.github.com/Forte40/panel/master/panel.lua"
  23.   }
  24. }
  25.  
  26. for _, file in ipairs(files) do
  27.   local path
  28.   if file.folder then
  29.     if not fs.exists(file.folder) then
  30.       fs.makeDir(file.folder)
  31.     end
  32.     path = fs.combine(file.folder, file.name)
  33.   else
  34.     path = file.name
  35.   end
  36.   local currText = ""
  37.   if fs.exists(path) then
  38.     local f = fs.open(path, "r")
  39.     currText = f.readAll()
  40.     f.close()
  41.     io.write("update  ")
  42.   else
  43.     io.write("install ")
  44.   end
  45.   io.write("'"..file.name.."'"..string.rep(" ", math.max(0, 8 - #file.name)))
  46.   if file.folder then
  47.     io.write(" in '"..file.folder.."'"..string.rep(".", math.max(0, 8 - #file.folder)).."...")
  48.   else
  49.     io.write("    .............")
  50.   end
  51.   local request = http.get(file.url)
  52.   if request then
  53.     local response = request.getResponseCode()
  54.     if response == 200 then
  55.       local newText = request.readAll()
  56.       if newText == currText then
  57.         print("skip")
  58.       else
  59.         local f = fs.open(path, "w")
  60.         f.write(newText)
  61.         f.close()
  62.         print("done")
  63.       end
  64.     else
  65.       print(" bad HTTP response code " .. response)
  66.     end
  67.   else
  68.     print(" no request handle")
  69.   end
  70.   os.sleep(0.1)
  71. end
  72. print("Finished")
Advertisement
Add Comment
Please, Sign In to add comment