Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[tlfOS Network API]]--
- function download(sCode, sFile)
- local sPath = shell.resolve( sFile )
- if fs.exists( sPath ) then
- return false, "File already exists"
- else
- fs.makeDir(sFile)
- fs.delete(sFile)
- end
- local response = http.get("http://pastebin.com/raw.php?i="..textutils.urlEncode( sCode ))
- if response then
- local sResponse = response.readAll()
- response.close()
- local file = fs.open( sPath, "w" )
- file.write( sResponse )
- file.close()
- return true
- else
- return false, "Download Failed"
- end
- end
- function update()
- shell.setDir("")
- download("iCNTY7iH", "&SYS&tlf/temp")
- download("DbZapvu3", "&SYS&tlf/temp2")
- term.clear()
- term.setCursorPos(1,1)
- local temp = nil
- local fTemp = io.open("&SYS&tlf/temp", "r")
- local fTemp2 = io.open("&SYS&tlf/temp2", "r")
- local fLocal = io.open("&SYS&tlf/versions", "r")
- local tTempPBFC = {}
- local tTempVersions = {}
- for line in fTemp2:lines() do
- for name, pbid, filepath in string.gmatch(line, "(.+):(.+):(.+)") do
- tTempPBFC[name] = {pbid, filepath}
- end
- end
- for line in fTemp:lines() do
- for name, version in string.gmatch(line, "(.+):(.+)") do
- tTempVersions[name] = version
- end
- end
- for line in fLocal:lines() do
- for name, version in string.gmatch(line, "(.+):(.+)") do
- if tonumber(tTempVersions[name]) > tonumber(version) then
- print(name.." v"..tTempVersions[name].." avalible (local version: "..version..")")
- print("Updating "..name)
- temp = tTempPBFC[name]
- pbid = temp[1]
- filepath = temp[2]
- temp = nil
- fs.delete(filepath..name)
- download(pbid, filepath..name)
- print(name.." has been updated to version "..tTempVersions[name])
- end
- end
- end
- fs.delete("&SYS&tlf/versions")
- download("iCNTY7iH", "&SYS&tlf/versions")
- sleep(5)
- fTemp:close()
- fTemp2:close()
- fLocal:close()
- fs.delete("&SYS&tlf/temp")
- end
Advertisement
Add Comment
Please, Sign In to add comment