mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Sync book statistics: add to dispatcher (#10285)
This commit is contained in:
committed by
GitHub
parent
b98fee3dd0
commit
2e630286df
@@ -97,7 +97,8 @@ ReaderStatistics.default_settings = {
|
||||
function ReaderStatistics:onDispatcherRegisterActions()
|
||||
Dispatcher:registerAction("stats_calendar_view", {category="none", event="ShowCalendarView", title=_("Statistics calendar view"), general=true, separator=false})
|
||||
Dispatcher:registerAction("stats_calendar_day_view", {category="none", event="ShowCalendarDayView", title=_("Statistics today's timeline"), general=true, separator=true})
|
||||
Dispatcher:registerAction("book_statistics", {category="none", event="ShowBookStats", title=_("Book statistics"), reader=true, separator=true})
|
||||
Dispatcher:registerAction("book_statistics", {category="none", event="ShowBookStats", title=_("Book statistics"), reader=true, separator=false})
|
||||
Dispatcher:registerAction("stats_sync", {category="none", event="SyncBookStats", title=_("Synchronize book statistics"), reader=true, separator=true})
|
||||
end
|
||||
|
||||
function ReaderStatistics:init()
|
||||
@@ -1188,10 +1189,10 @@ Time is in hours and minutes.]]),
|
||||
{
|
||||
text = _("Synchronize now"),
|
||||
callback = function()
|
||||
SyncService.sync(self.settings.sync_server, db_location, self.onSync )
|
||||
self:onSyncBookStats()
|
||||
end,
|
||||
enabled_func = function()
|
||||
return self.settings.sync_server ~= nil and self.settings.is_enabled
|
||||
return self:canSync()
|
||||
end,
|
||||
keep_menu_open = true,
|
||||
separator = true,
|
||||
@@ -2973,6 +2974,23 @@ function ReaderStatistics:getCurrentBookReadPages()
|
||||
return read_pages
|
||||
end
|
||||
|
||||
function ReaderStatistics:canSync()
|
||||
return self.settings.sync_server ~= nil and self.settings.is_enabled
|
||||
end
|
||||
|
||||
function ReaderStatistics:onSyncBookStats()
|
||||
if not self:canSync() then return end
|
||||
|
||||
UIManager:show(InfoMessage:new {
|
||||
text = _("Syncing book statistics. This may take a while."),
|
||||
timeout = 1,
|
||||
})
|
||||
|
||||
UIManager:nextTick(function()
|
||||
SyncService.sync(self.settings.sync_server, db_location, self.onSync)
|
||||
end)
|
||||
end
|
||||
|
||||
function ReaderStatistics.onSync(local_path, cached_path, income_path)
|
||||
local conn_income = SQ3.open(income_path)
|
||||
local ok1, v1 = pcall(conn_income.rowexec, conn_income, "PRAGMA schema_version")
|
||||
|
||||
Reference in New Issue
Block a user