Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function download(package,fileName)
- if (not fs.exists("/kdpm/packages/"..package.."/")) then
- fs.makeDir("/kdpm/packages/"..package.."/")
- end
- local res = http.get("http://kd.funniray.com/kdpm/packages/"..package.."/"..fileName)
- local file = fs.open("/kdpm/packages/"..package.."/"..fileName,"w")
- file.write(res.readAll())
- res.close()
- file.close()
- end
- function getPackageData(package)
- local res = http.get("http://kd.funniray.com/kdpm/packages/"..package.."/pkgManifest.json")
- local pkgData = json.decode(res.readAll())
- res.close()
- return pkgData
- end
- function downloadPackage(package)
- local pkgData = getPackageData(package)
- local packageDir = "/kdpm/packages/"..package.."/"
- for k,fileName in ipairs(pkgData.files) do
- print("[DL] "..k.."/"..pkgData.fileCount.." -> "..fileName)
- download(package,fileName)
- end
- return pkgData
- end
- function package_installed(package)
- return fs.exists("/kdpm/packages/"..package.."/")
- end
- if (package_installed("json")) then
- os.loadAPI("/kdpm/packages/json/json.lua")
- else
- print("WARNING: \"json\" package not installed!")
- json = { decode=function() print("json package not installed! :o")end}
- end
- function installPackage(package)
- local pkgData = downloadPackage(package)
- if (pkgData.isExecutable == true) then
- fs.copy("/kdpm/packages/"..package.."/"..pkgData.exe,"/"..pkgData.exe)
- end
- end
- function install_kdpm()
- if (not fs.exists("/kdpm/")) then
- fs.makeDir("/kdpm/")
- end
- if (not fs.exists("/kdpm/packages/")) then
- fs.makeDir("/kdpm/packages/")
- end
- if (not fs.exists("/kdpm/packages/json/")) then
- download("json","json.lua")
- os.loadAPI("/kdpm/packages/json/json.lua")
- end
- end
- function removePackage(package)
- local pkgData = getPackageData(package)
- if (pkgData.isExecutable) then
- shell.run("rm /"..pkgData.exe)
- end
- shell.run("rm /kdpm/packages/"..package)
- end
- if (not fs.exists("/kdpm/") or not fs.exists("/kdpm/packages/") or not fs.exists("/kdpm/packages/json/")) then
- install_kdpm()
- end
- if (arg[1] == "install" or arg[1] == "i") then
- installPackage(arg[2])
- elseif (arg[1] == "remove" or arg[1] == "uninstall" or arg[1] == "rm") then
- removePackage(arg[2])
- end
Advertisement
Add Comment
Please, Sign In to add comment