Guest User

kdpm.lua

a guest
Dec 25th, 2020
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.31 KB | None | 0 0
  1. function download(package,fileName)
  2.     if (not fs.exists("/kdpm/packages/"..package.."/")) then
  3.         fs.makeDir("/kdpm/packages/"..package.."/")
  4.     end
  5.     local res = http.get("http://kd.funniray.com/kdpm/packages/"..package.."/"..fileName)
  6.     local file = fs.open("/kdpm/packages/"..package.."/"..fileName,"w")
  7.     file.write(res.readAll())
  8.     res.close()
  9.     file.close()
  10. end
  11.  
  12. function getPackageData(package)
  13.     local res = http.get("http://kd.funniray.com/kdpm/packages/"..package.."/pkgManifest.json")
  14.     local pkgData = json.decode(res.readAll())
  15.     res.close()
  16.     return pkgData
  17. end
  18.  
  19. function downloadPackage(package)
  20.     local pkgData = getPackageData(package)
  21.     local packageDir = "/kdpm/packages/"..package.."/"
  22.     for k,fileName in ipairs(pkgData.files) do
  23.         print("[DL] "..k.."/"..pkgData.fileCount.." -> "..fileName)
  24.         download(package,fileName)
  25.     end
  26.     return pkgData
  27. end
  28.  
  29. function package_installed(package)
  30.     return fs.exists("/kdpm/packages/"..package.."/")
  31. end    
  32.  
  33. if (package_installed("json")) then
  34.     os.loadAPI("/kdpm/packages/json/json.lua")
  35. else
  36.     print("WARNING: \"json\" package not installed!")
  37.     json = { decode=function() print("json package not installed! :o")end}
  38. end
  39. function installPackage(package)
  40.     local pkgData = downloadPackage(package)
  41.     if (pkgData.isExecutable == true) then
  42.         fs.copy("/kdpm/packages/"..package.."/"..pkgData.exe,"/"..pkgData.exe)
  43.     end
  44. end
  45.  
  46. function install_kdpm()
  47.     if (not fs.exists("/kdpm/")) then
  48.         fs.makeDir("/kdpm/")
  49.     end
  50.     if (not fs.exists("/kdpm/packages/")) then
  51.         fs.makeDir("/kdpm/packages/")
  52.     end
  53.     if (not fs.exists("/kdpm/packages/json/")) then
  54.         download("json","json.lua")
  55.         os.loadAPI("/kdpm/packages/json/json.lua")
  56.     end
  57. end
  58.  
  59. function removePackage(package)
  60.     local pkgData = getPackageData(package)
  61.     if (pkgData.isExecutable) then
  62.         shell.run("rm /"..pkgData.exe)
  63.     end
  64.     shell.run("rm /kdpm/packages/"..package)
  65. end
  66.  
  67. if (not fs.exists("/kdpm/") or not fs.exists("/kdpm/packages/") or not fs.exists("/kdpm/packages/json/")) then
  68.     install_kdpm()
  69. end
  70.  
  71. if (arg[1] == "install" or arg[1] == "i") then
  72.     installPackage(arg[2])
  73. elseif (arg[1] == "remove" or arg[1] == "uninstall" or arg[1] == "rm") then
  74.     removePackage(arg[2])
  75. end
Advertisement
Add Comment
Please, Sign In to add comment