From 9f5b917f8787ebe7c35f86302c6eeac9fa356734 Mon Sep 17 00:00:00 2001 From: Robert Jelic <36573031+NoryiE@users.noreply.github.com> Date: Wed, 6 Jul 2022 20:09:14 +0200 Subject: [PATCH] Delete basaltInstaller.lua --- basaltInstaller.lua | 122 -------------------------------------------- 1 file changed, 122 deletions(-) delete mode 100644 basaltInstaller.lua diff --git a/basaltInstaller.lua b/basaltInstaller.lua deleted file mode 100644 index 840f19b..0000000 --- a/basaltInstaller.lua +++ /dev/null @@ -1,122 +0,0 @@ --- this file can download the project or other tools from github - -local args = table.pack(...) - --- Creates a filetree based on my github project, ofc you can use this in your projects if you'd like to -local function createTree(page) - local tree = {} - local request = http.get(page) - if not(page)then return end - for _,v in pairs(textutils.unserialiseJSON(request.readAll()).tree)do - if(v.type=="blob")then - table.insert(tree, v.path) - elseif(v.type=="tree")then - tree[v.path] = createTree(page.."/"..v.path) - end - end - return tree -end - -local function splitString(str, sep) - if sep == nil then - sep = "%s" - end - local t={} - for v in string.gmatch(str, "([^"..sep.."]+)") do - table.insert(t, v) - end - return t -end - -local function download(url, file) - print("Downloading "..url) - local httpReq = http.get(url) - if(httpReq~=nil)then - local content = httpReq.readAll() - if not content then - error("Could not connect to website") - end - local f = fs.open(file, "w") - f.write(content) - f.close() - end -end - -local function downloadProject(dir, ignoreList) - local projTree = createTree("https://api.github.com/repos/Pyroxenium/Basalt/git/trees/master:Basalt") - local projectFiles = {base={}} - - local function isFileInIgnoreList(folder, file) - if(ignoreList~=nil)then - if(ignoreList[folder]~=nil)then - for k,v in pairs(ignoreList[folder])do - if(v==file)then - return true - end - end - end - end - return false - end - for k,v in pairs(projTree)do - if(k=="objects")then - projectFiles.objects = {} - for a,b in pairs(v)do - if not(isFileInIgnoreList("objects", b))then - table.insert(projectFiles.objects, b) - end - end - elseif(k=="libraries")then - projectFiles.libraries = {} - for a,b in pairs(v)do - if not(isFileInIgnoreList("libraries", b))then - table.insert(projectFiles.libraries, b) - end - end - else - table.insert(projectFiles.base, v) - end - end - - fs.makeDir(dir) - fs.makeDir(dir.."/objects") - fs.makeDir(dir.."/libraries") - for _,v in pairs(projectFiles["objects"])do - download("https://raw.githubusercontent.com/Pyroxenium/Basalt/master/Basalt/objects/"..v, dir.."/objects/"..v) - end - for _,v in pairs(projectFiles["libraries"])do - download("https://raw.githubusercontent.com/Pyroxenium/Basalt/master/Basalt/libraries/"..v, dir.."/libraries/"..v) - end - for _,v in pairs(projectFiles["base"])do - download("https://raw.githubusercontent.com/Pyroxenium/Basalt/master/Basalt/"..v, dir.."/"..v) - end -end - -if(#args>0)then - if(string.lower(args[1])=="bpm")or(string.lower(args[1])=="basaltpackagemanager")then - download("https://raw.githubusercontent.com/Pyroxenium/Basalt/master/basaltPackageManager.lua", "basaltPackageManager.lua") - shell.run("basaltPackageManager.lua") - --shell.run("rm basaltPackageManager.lua") - end - if(string.lower(args[1])=="single")then - downloadProject("Basalt") - download("https://raw.githubusercontent.com/Pyroxenium/Basalt/master/basaltPackager.lua", "basaltPackager.lua") - shell.run("basaltPackager.lua "..tostring(args[2] and false or true)) - fs.delete("Basalt") - end - if(string.lower(args[1])=="modified")then - if(args[2]~=nil)then - local arg = splitString(args[2], ":") - downloadProject("Basalt", { - objects = splitString(arg[1], "|"), - libraries = splitString(arg[2], "|") - }) - else - downloadProject("Basalt") - end - end -else - print("Downloading the project...") - downloadProject("Basalt") - print("Done!") -end \ No newline at end of file