Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Extras
- fs.makeDir("Programs")
- -- Variablen
- modemside = "back" -- Please enter the modem-side. / Modem-Seite eintragen.
- -- Funktionen
- function safetymodem()
- while peripheral.getType(modemside) ~= "modem" do
- term.clear()
- term.setCursorPos(1,1)
- term.write("Bitte Wireless-Modem wieder anbringen!")
- sleep(0.25)
- end
- rednet.open(modemside)
- end
- function bin(program)
- if fs.exists("Programs/"..program) and program ~= "" then
- fs.delete("Programs/"..program)
- file = fs.open("DateiListe","r")
- data = file.readAll()
- file.close()
- firstpart = string.sub(data, 1, string.find(data.."",program) -1)
- secondpart = string.sub(data, string.find(data.."",program..";") + string.len(program..";"), -1)
- file = fs.open("DateiListe","w")
- file.write(firstpart..secondpart)
- file.close()
- return "Erfolgreich geloescht!"
- else
- return "Dieses Programm existiert nicht!"
- end
- end
- function download(program, sender)
- if fs.exists("Programs/"..program) and program ~= "" then
- downloading = fs.open("Programs/"..program,"r")
- file = downloading.readAll()
- downloading.close()
- else
- rednet.send(sender,"Error: existiert nicht!")
- end
- return file
- end
- function upload(programname,programcode)
- if not fs.exists("Programs/"..programname) then
- uploading = fs.open("Programs/"..programname,"w")
- uploading.write(programcode)
- uploading.close()
- ergebnis = programname.." erfolgreich hochgeladen!"
- else
- ergebnis = "Datei existiert bereits!"
- end
- return ergebnis
- end
- function addlist(eintrag)
- if fs.exists("DateiListe") then
- list = fs.open("DateiListe","a")
- list.write(eintrag..";")
- list.close()
- else
- list = fs.open("DateiListe","w")
- list.write(eintrag..";")
- list.close()
- end
- end
- function readlist()
- if fs.exists("DateiListe") then
- list = fs.open("DateiListe","r")
- readedList = list.readAll()
- list.close()
- return readedList
- else
- return "Keine Liste vorhanden"
- end
- end
- -- Hauptteil
- while true do
- safetymodem()
- term.clear()
- term.setCursorPos(1,1)
- term.write("Filetransferserver 1.0")
- rednet.open(modemside)
- a,b,c = rednet.receive()
- if string.sub(b,1,2) == "D;" then
- program = string.sub(b,string.find(b.."","D;")+2,string.len(b))
- if fs.exists("Programs/"..program) then
- downloadfile = download(program,a)
- sleep(0.25)
- rednet.send(a,downloadfile)
- else
- rednet.send(a,"Error: existiert nicht!")
- end
- elseif string.sub(b,1,2) == "L;" and b ~= "" then
- ListFile = readlist()
- rednet.send(a,ListFile)
- elseif string.sub(b,1,2) == "B;" and b ~= "" then
- delete = bin(string.sub(b, 3, -1))
- rednet.send(a, delete)
- elseif string.sub(b,1,2) == "U;" and b ~= "" then
- rawprogram = string.sub(b,string.find(b.."","U;")+2,string.len(b))
- programname = string.sub(rawprogram,1,string.find(rawprogram.."","$;")-1)
- program = string.sub(rawprogram,string.find(rawprogram.."","$;")+2,string.len(b))
- if fs.exists("Programs/"..programname) then
- rednet.send(a,"Programm existiert bereits!")
- else
- print(programname)
- addlist(programname)
- endergebnis = upload(programname,program)
- rednet.send(a,endergebnis)
- end
- elseif b == nil then
- rednet.send(a,"Error nil!")
- end
- end
- -- Scripted by Streetboy_xD
- -- Please keep this text in the program.
Advertisement
Add Comment
Please, Sign In to add comment