diff --git a/plugins/coverimage.koplugin/main.lua b/plugins/coverimage.koplugin/main.lua index 2809d6b72..c35c8b424 100644 --- a/plugins/coverimage.koplugin/main.lua +++ b/plugins/coverimage.koplugin/main.lua @@ -75,7 +75,7 @@ function CoverImage:init() self.cover_image_fallback_path = G_reader_settings:readSetting("cover_image_fallback_path") or default_fallback_path self.cover_image_cache_path = G_reader_settings:readSetting("cover_image_cache_path") or default_cache_path self.cover_image_cache_maxfiles = G_reader_settings:readSetting("cover_image_cache_maxfiles") or 36 - self.cover_image_cache_maxsize = G_reader_settings:readSetting("cover_image_cache_maxsize") or 5 -- MiB + self.cover_image_cache_maxsize = G_reader_settings:readSetting("cover_image_cache_maxsize") or 5 -- MB self.cover_image_cache_prefix = "cover_" self.cover = G_reader_settings:isTrue("cover_image_enabled") self.fallback = G_reader_settings:isTrue("cover_image_fallback") @@ -225,7 +225,7 @@ end function CoverImage:getCacheFiles(cache_path, cache_prefix) local cache_count = 0 - local cache_size_KiB = 0 + local cache_size_KB = 0 local files = {} for entry in lfs.dir(self.cover_image_cache_path) do if entry ~= "." and entry ~= ".." then @@ -235,15 +235,15 @@ function CoverImage:getCacheFiles(cache_path, cache_prefix) cache_count = cache_count + 1 files[cache_count] = { name = file, - size = math.floor((lfs.attributes(file).size + 1023) / 1024), -- round up to KiB + size = math.floor((lfs.attributes(file).size + 999) / 1000), -- round up to KB mod = lfs.attributes(file).modification, } - cache_size_KiB = cache_size_KiB + files[cache_count].size -- size in KiB + cache_size_KB = cache_size_KB + files[cache_count].size -- size in KB end end end - logger.dbg("CoverImage: start - cache size: ".. cache_size_KiB .. " KiB, cached files: " .. cache_count) - return cache_count, cache_size_KiB, files + logger.dbg("CoverImage: start - cache size: ".. cache_size_KB .. " KB, cached files: " .. cache_count) + return cache_count, cache_size_KB, files end function CoverImage:cleanCache() @@ -252,20 +252,20 @@ function CoverImage:cleanCache() return end - local cache_count, cache_size_KiB, files = self:getCacheFiles(self.cover_image_cache_path, self.cover_image_cache_prefix) + local cache_count, cache_size_KB, files = self:getCacheFiles(self.cover_image_cache_path, self.cover_image_cache_prefix) -- delete the oldest files first table.sort(files, function(a, b) return a.mod < b.mod end) local index = 1 while (cache_count > self.cover_image_cache_maxfiles and self.cover_image_cache_maxfiles ~= 0) - or (cache_size_KiB > self.cover_image_cache_maxsize * 1024 and self.cover_image_cache_maxsize ~= 0) + or (cache_size_KB > self.cover_image_cache_maxsize * 1000 and self.cover_image_cache_maxsize ~= 0) and index <= #files do os.remove(files[index].name) cache_count = cache_count - 1 - cache_size_KiB = cache_size_KiB - files[index].size + cache_size_KB = cache_size_KB - files[index].size index = index + 1 end - logger.dbg("CoverImage: clean - cache size: ".. cache_size_KiB .. " KiB, cached files: " .. cache_count) + logger.dbg("CoverImage: clean - cache size: ".. cache_size_KB .. " KB, cached files: " .. cache_count) end function CoverImage:isCacheEnabled(path) @@ -472,13 +472,13 @@ function CoverImage:menuEntryCache() text_func = function() local number if self.cover_image_cache_maxsize > 0 then - number = self.cover_image_cache_maxsize + number = util.getFriendlySize(self.cover_image_cache_maxsize * 1e6) elseif self.cover_image_cache_maxsize == 0 then number = _("unlimited") else number = _("off") end - return T(_("Maximum size of cached covers (%1MiB)"), number) + return T(_("Maximum size of cached covers (%1)"), number) end, help_text = _("If set to zero the cache size is unlimited.\nIf set to -1 the cache is disabled."), checked_func = function() @@ -493,9 +493,9 @@ function CoverImage:menuEntryCache() { text = _("Clear cached covers"), help_text_func = function() - local cache_count, cache_size_KiB + local cache_count, cache_size_KB = self:getCacheFiles(self.cover_image_cache_path, self.cover_image_cache_prefix) - return T(_("The cache contains %1 files and uses %2 MiB."), cache_count, math.floor((cache_size_KiB + 1023) / 1024)) + return T(_("The cache contains %1 files and uses %2."), cache_count, util.getFriendlySize(cache_size_KB * 1000)) end, callback = function() UIManager:show(ConfirmBox:new{