mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
@@ -134,12 +134,19 @@ end
|
||||
-- add a book to our books table
|
||||
function CalibreMetadata:addBook(book)
|
||||
-- prevent duplicate entries
|
||||
if not self:updateBook(book) then
|
||||
table.insert(self.books, #self.books + 1, slim(book))
|
||||
end
|
||||
end
|
||||
|
||||
-- update a book in our books table if exists
|
||||
function CalibreMetadata:updateBook(book)
|
||||
local _, index = self:getBookUuid(book.lpath)
|
||||
if index then
|
||||
self.books[index] = slim(book)
|
||||
else
|
||||
table.insert(self.books, #self.books + 1, slim(book))
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- remove a book from our books table
|
||||
|
||||
@@ -430,6 +430,8 @@ function CalibreWireless:onReceiveJSON(data)
|
||||
self:getBookCount(arg)
|
||||
elseif opcode == OPCODES.SEND_BOOK then
|
||||
self:sendBook(arg)
|
||||
elseif opcode == OPCODES.SEND_BOOK_METADATA then
|
||||
self:sendBookMetadata(arg)
|
||||
elseif opcode == OPCODES.DELETE_BOOK then
|
||||
self:deleteBook(arg)
|
||||
elseif opcode == OPCODES.GET_BOOK_FILE_SEGMENT then
|
||||
@@ -707,6 +709,16 @@ function CalibreWireless:sendBook(arg)
|
||||
end
|
||||
end
|
||||
|
||||
function CalibreWireless:sendBookMetadata(arg)
|
||||
logger.dbg("SEND_BOOK_METADATA", arg)
|
||||
|
||||
CalibreMetadata:updateBook(arg.data)
|
||||
|
||||
if (arg.index + 1) == arg.count then
|
||||
CalibreMetadata:saveBookList()
|
||||
end
|
||||
end
|
||||
|
||||
function CalibreWireless:deleteBook(arg)
|
||||
logger.dbg("DELETE_BOOK", arg)
|
||||
self:sendJsonData('OK', {})
|
||||
|
||||
Reference in New Issue
Block a user