Added autoremove of not existing packages

This commit is contained in:
PentagonLP 2021-06-03 14:56:09 +02:00
parent 95aca99a8e
commit be520cfb36

13
ccpt
View File

@ -2,7 +2,6 @@
ComputerCraft Package Tool ComputerCraft Package Tool
Author: PentagonLP Author: PentagonLP
Version: 1.0 Version: 1.0
Lines of Code: 1.000; Characters: 30.508
]] ]]
-- Load properprint library -- Load properprint library
@ -187,6 +186,7 @@ function checkforupdates(installedpackages,reducedprint)
packageswithupdates[#packageswithupdates+1] = k packageswithupdates[#packageswithupdates+1] = k
end end
end end
-- Print result -- Print result
if #packageswithupdates==0 then if #packageswithupdates==0 then
bprint("All installed packages are up to date!",reducedprint) bprint("All installed packages are up to date!",reducedprint)
@ -292,10 +292,19 @@ function update(startup)
-- Read installed packages -- Read installed packages
bprint("Reading Installed Packages...",startup) bprint("Reading Installed Packages...",startup)
installedpackages = readData("/.ccpt/installedpackages",true) installedpackages = readData("/.ccpt/installedpackages",true)
installedpackagesnew = {}
for k,v in pairs(installedpackages) do
if packagedata[k]==nil then
properprint.pprint("Package '" .. k .. "' was removed from the packagelist, but is installed. It will no longer be marked as 'installed', but its files won't be deleted.")
else
installedpackagesnew[k] = v
end
end
storeData("/.ccpt/installedpackages",installedpackagesnew)
bprint("Data update complete!",startup) bprint("Data update complete!",startup)
-- Check for updates -- Check for updates
checkforupdates(installedpackages,startup) checkforupdates(installedpackagesnew,startup)
end end
-- Install -- Install