cc-stuff/tapeget.lua

45 lines
736 B
Lua

local args = { ... }
local tape = peripheral.find("tape_drive")
if not tape then
print("tape where")
return
end
if not http then
print("no http, check config")
return
end
tape.stop()
tape.seek(-tape.getSize())
tape.stop()
local req = http.get(args[1], {}, true)
if not req then
print("oopsie")
return
end
local headers = req.getResponseHeaders()
local length = headers["content-length"]
local i = 1
while true do
local chunk = req.read()
if not chunk then
print("EOF")
break
end
tape.write(chunk)
i = i + 1
if (i % 16384) == 0 then
os.sleep(0.01)
print(i .. " written out of "..length)
end
end
tape.stop()
tape.seek(-tape.getSize())
tape.stop()