Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Tasks Api File
- -- Writes data to two files, as specified in complete and incomplete
- incomplete = "disk/incomplete.table"
- complete = "disk/complete.table"
- local function save(tab, filename)
- local file = fs.open(filename,"w")
- file.write(textutils.serialize(tab))
- file.close()
- end
- local function retrieve(filename)
- local file = fs.open(filename,"r")
- local data = file.readAll()
- file.close()
- return textutils.unserialize(data)
- end
- function reset()
- save({}, incomplete)
- save({}, complete)
- end
- function addTask(task)
- local data = retrieve(incomplete)
- local id = #data + 1
- data[id] = {["Task"] = task, ["Assigned"] = "Unassigned",}
- save(data, incomplete)
- return id
- end
- function getTaskInfo(taskId)
- local data = retrieve(incomplete)
- return data[taskId]
- end
- function assignTask(taskId, person)
- local data = retrieve(incomplete)
- data[taskId]["Assigned"] = person
- save(data, incomplete)
- return true
- end
- function completeTask(taskId)
- local data = retrieve(incomplete)
- local comp = retrieve(complete)
- data[id] = {["Task"] = task, ["Assigned"] = "Unassigned",}
- table.remove(data, taskId)
- save(data, incomplete)
- return true
- end
- function getIncomplete()
- return retrieve(incomplete)
- end
- function getComplete()
- return retrieve(complete)
- end
- function printTasks(tasks)
- for key,value in pairs(tasks) do
- print(key .. ") " .. value["Task"] .. " Assigned to: " .. value["Assigned"])
- end
- end
- function printCompletedTasks(tasks)
- for key,value in pairs(tasks) do
- print(key .. ") " .. value["Task"] .. " Assigned to: " .. value["Assigned"])
- end
- end
- function update()
- local monitor = peripheral.wrap("right")
- monitor.clear()
- monitor.setCursorPos(1,1)
- monitor.write("All Incomplete Tasks:")
- monitor.setCursorPos(1,3)
- for key,value in pairs(getIncomplete()) do
- x,y = monitor.getCursorPos()
- monitor.write(key .. ") " .. value["Task"])
- monitor.setCursorPos(35,y)
- monitor.write("Assigned: " .. value["Assigned"])
- monitor.setCursorPos(1,y+1)
- end
- end
- -- Commands Section - DO NOT IMPORT WHOLE
- -- addtask (taskname)
- os.loadAPI("tasks")
- args = {...}
- taskName = args[1]
- if #args > 1 then
- for i=2,#args do
- taskName = taskName .. " " .. args[i]
- end
- end
- taskId = tasks.addTask(taskName)
- print("Task Successfully Added with an ID of " .. taskId)
- tasks.update()
- -- completetask (taskid)
- os.loadAPI("tasks")
- args = {...}
- taskId = tonumber(args[1])
- tasks.completeTask(taskId)
- print("Marked Task " .. taskId .. " as Complete")
- tasks.update()
- -- assigntask (taskid) (person)
- os.loadAPI("tasks")
- args = {...}
- taskId = tonumber(args[1])
- person = args[2]
- tasks.assignTask(taskId, person)
- print("Task " .. taskId .. " has been assigned to " .. person)
- tasks.update()
- -- loadincomplete
- os.loadAPI("tasks")
- local monitor = peripheral.wrap("right")
- monitor.clear()
- monitor.setCursorPos(1,1)
- monitor.write("All Incomplete Tasks:")
- monitor.setCursorPos(1,3)
- for key,value in pairs(tasks.getIncomplete()) do
- x,y = monitor.getCursorPos()
- monitor.write(key .. ") " .. value["Task"])
- monitor.setCursorPos(35,y)
- monitor.write("Assigned: " .. value["Assigned"])
- monitor.setCursorPos(1,y+1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement