Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local args = { ... }
- local tape = peripheral.find("tape_drive")
- local bytery = 0
- local function writeTape(url)
- local file, msg, _, y, success
- local block = 8192 --How much to read at a time
- tape.stop()
- tape.seek(-tape.getSize())
- tape.stop() --Just making sure
- print("Writing...")
- file = http.get(url)
- repeat
- local bytes = {}
- for i = 1, block do
- local byte = file.read()
- if not byte then break end
- bytes[#bytes + 1] = byte
- end
- if #bytes > 0 then
- if not tape.isReady() then
- io.stderr:write("\nError: Tape was removed during writing.\n")
- file.close()
- return
- end
- bytery = bytery + #bytes
- term.write("Read " .. bytery .. " bytes...\n")
- for i = 1, #bytes do
- tape.write(bytes[i])
- end
- sleep(0)
- end
- until not bytes or #bytes <= 0
- file.close()
- tape.stop()
- tape.seek(-tape.getSize())
- tape.stop() --Just making sure
- print("\nDone.")
- end
- writeTape(args[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement