From 853e8581d0c5ddf28c680790f09e5579ecd8b2b4 Mon Sep 17 00:00:00 2001 From: Alex Pletnev Date: Mon, 15 Feb 2016 15:58:46 +0200 Subject: [PATCH] fix error in case when process old statistics files --- plugins/statistics.koplugin/main.lua | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/plugins/statistics.koplugin/main.lua b/plugins/statistics.koplugin/main.lua index 18105d4c6..962782a16 100755 --- a/plugins/statistics.koplugin/main.lua +++ b/plugins/statistics.koplugin/main.lua @@ -316,7 +316,7 @@ function ReaderStatistics:getOldStatisticsFromDirectory(exlude_titles, total_sta local path = statistics_dir .. curr_file if lfs.attributes(path, "mode") == "file" then local book_result = self:importFromFile(statistics_dir, curr_file) - if book_result and book_stats.total_time_in_sec > 0 + if book_result and book_result.total_time > 0 and book_result.title ~= self.data.title and not exlude_titles[book_result.title] then table.insert(total_stats, { @@ -374,15 +374,17 @@ end -- For backward compatibility function ReaderStatistics:importFromFile(base_path, item) item = string.gsub(item, "^%s*(.-)%s*$", "%1") -- trim - local statistic_file = joinPath(base_path, item) - if lfs.attributes(statistic_file, "mode") == "directory" then - return - end - local ok, stored = pcall(dofile, statistic_file) - if ok then - return stored - else - DEBUG(stored) + if item ~= ".stat" then + local statistic_file = joinPath(base_path, item) + if lfs.attributes(statistic_file, "mode") == "directory" then + return + end + local ok, stored = pcall(dofile, statistic_file) + if ok then + return stored + else + DEBUG(stored) + end end end