Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --идея - Programist135
- --реализация - SergOmarov,Programist135
- local cmp = require("component")
- local srl = require("serialization")
- local fs = require("filesystem")
- local sh = require("shell")
- local unicode = require("unicode")
- local term = require("term")
- local event = require("event")
- card = {}
- function card.writeData(data, cardname)
- if not cmp.isAvailable("OSCardWriter") then
- return "Writer not found"
- end
- local writer = cmp.OSCardWriter
- local dataRAW = srl.serialize(data)
- if unicode.len(dataRAW) > 128 then
- return "Data too big"
- end
- writer.write(dataRAW, cardname)
- return true
- end
- function card.read(saveto)
- local data = {}
- if(saveto==nil)then
- local _, _, _, dataRAW = event.pull("magData")
- return srl.unserialize(dataRAW)
- else
- local save = io.open(saveto, "w")
- if not cmp.isAvailable("OSMagReader") then
- return "Reader not found"
- end
- local _, _, _, dataRAW = event.pull("magData")
- data = srl.unserialize(dataRAW)
- for _, dataFresh in pairs(data) do
- save:write(dataFresh.."\n")
- end
- save:flush()
- return true
- end
- end
- function card.write(filename, cardname)
- if not cmp.isAvailable("OSCardWriter") then
- return "Writer not found"
- end
- local writer = cmp.OSCardWriter
- local dataRAW = {}
- for line in io.lines(filename) do
- table.insert(dataRAW, line)
- end
- local data = srl.serialize(dataRAW)
- if unicode.len(data) > 128 then
- return "File too big"
- end
- writer.write(data, cardname)
- return true
- end
- return card
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement