Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Upload File
- -- Version 1.0
- -- By JPiolho
- -- Feel free to copy and edit as long you credit the original author
- -- More Info @ http://bit.ly/zoxn6V
- local dataChunks = 4096 -- The amount of data each upload should have. If you put a big number then http api might not upload it
- local pauseAfter = 10 -- After these number of parts are uploaded and theres more, a message will show up asking the user to press any key to continue
- local function url_encode(str)
- if (str) then
- str = string.gsub(str,"\t","")
- str = string.gsub(str,"%%","%%25")
- str = string.gsub(str,"%$","%%24")
- str = string.gsub(str,"&","%%26")
- str = string.gsub(str,"%+","%%2B")
- str = string.gsub(str,",","%%2C")
- str = string.gsub(str,"/","%%2F")
- str = string.gsub(str,":","%%3A")
- str = string.gsub(str,";","%%3B")
- str = string.gsub(str,"=","%%3D")
- str = string.gsub(str,"%?","%%3F")
- str = string.gsub(str,"@","%%40")
- str = string.gsub(str,"% ","%%20")
- str = string.gsub(str,"\"","%%22")
- str = string.gsub(str,"<","%%3C")
- str = string.gsub(str,">","%%3E")
- str = string.gsub(str,"#","%%23")
- str = string.gsub(str,"{","%%7B")
- str = string.gsub(str,"}","%%7D")
- str = string.gsub(str,"|","%%7C")
- str = string.gsub(str,"\\","%%5C")
- str = string.gsub(str,"~","%%7E")
- str = string.gsub(str,"%]","%%5D")
- str = string.gsub(str,"`","%%60")
- str = string.gsub(str,"%[","%%5B")
- str = string.gsub(str,"%^","%%5E")
- end
- return str
- end
- local tArgs = {...}
- if #tArgs == 0 then
- print("Usage: uploadfile <file>")
- return
- end
- local file = tArgs[1]
- if fs.exists(file) == false then
- print("Cannot find the file")
- return
- end
- local data = ""
- local f = io.open(file,"r")
- local n = 1
- while true do
- data = ""
- if n > pauseAfter then
- print("Too many parts. Press enter to continue...")
- while true do
- local e,v = os.pullEvent()
- if e == "key" and v == "28" then break end
- end
- end
- local finishedRead = false
- while finishedRead == false do
- local line = f:read()
- if line ~= nil then
- data = data .. url_encode(line) .. "%0A"
- if string.len(data) > dataChunks then
- finishedRead = true
- end
- else
- finishedRead = true
- end
- end
- if line == nil and string.len(data) == 0 then break end
- data = url_encode(data)
- local url = "http://tinypaste.com/api/create.xml"
- url = url .. "?paste=" .. data
- local r = http.get(url)
- local xml = r:readAll()
- if string.find(xml,"<error>") ~= nil then
- local err = string.gmatch(xml,"<error>(.*)</error>")
- for i in err do
- print("ERROR! " .. i)
- return
- end
- end
- local id = string.gmatch(xml,"<response>(.*)</response>")
- for i in id do
- print("Uploaded P" .. n .. " to: http://tinypaste.com/" .. i)
- end
- n = n + 1
- end
- f:close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement