Update Event Library, Add Downloader

This commit is contained in:
Kirigaya Kazuto 2017-10-23 19:42:40 +08:00
parent b21b52cc57
commit c44110819d
2 changed files with 52 additions and 0 deletions

47
downloader.lua Normal file
View File

@ -0,0 +1,47 @@
local component=require("component")
function DownloadFromGitHub(RepoName,Branch,FileAddress)
local hwtable=component.list()
local found=false
for k,v in pairs(hwtable) do
if(v=="internet") then
found=true
end
end
if(not found) then
error("The downloader requires an Internet card.")
end
local url="https://raw.githubusercontent.com/" .. RepoName .. "/" .. Branch .. "/" .. FileAddress
local handle=component.internet.request(url)
local ans=""
while true do
local tmp=handle.read()
if(tmp==nil) then break end
ans=ans .. tmp
end
handle.close()
return ans
end
function DownloadFromOCS(FileAddress)
return DownloadFromGitHub("Kiritow/OpenComputerScripts","master",FileAddress)
end
function WriteStringToFile(StringValue,FileName,IsAppend)
if(IsAppend==nil) then IsAppend=false end
local handle,err
if(IsAppend) then
handle,err=io.open(FileName,"a")
else
handle,err=io.open(FileName,"w")
end
if(handle==nil) then return false,err end
handle:write(StringValue)
handle:close()
return true,"Success"
end

View File

@ -23,6 +23,11 @@ function WaitEventFor(EventName,TimeOut)
return event.pull(TimeOut,EventName)
end
function PushEvent(EventName,...)
checkstring(EventName)
return event.push(EventName,...)
end
function AddTimer(Interval,CallbackFunction,Times)
checknumber(Interval)
checkfunction(CallbackFunction)