diff --git a/plugins/evernote.koplugin/JoplinClient.lua b/plugins/evernote.koplugin/JoplinClient.lua index 3df4bf93b..d57cb28e7 100644 --- a/plugins/evernote.koplugin/JoplinClient.lua +++ b/plugins/evernote.koplugin/JoplinClient.lua @@ -61,34 +61,49 @@ end -- If successful returns id of found note. function JoplinClient:findNoteByTitle(title, notebook_id) - local url = "http://"..self.server_ip..":"..self.server_port.."/notes?".."token="..self.auth_token.."&fields=id,title,parent_id" - - local notes = self:_makeRequest(url, "GET") - - for _, note in pairs(notes) do - if note.title == title then - if notebook_id == nil or note.parent_id == notebook_id then - return note.id + local url_base = "http://"..self.server_ip..":"..self.server_port.."/notes?".."token="..self.auth_token.."&fields=id,title,parent_id&page=" + + local url + local page = 1 + local has_more + + repeat + url = url_base..page + local notes = self:_makeRequest(url, "GET") + has_more = notes.has_more + for _, note in ipairs(notes.items) do + if note.title == title then + if notebook_id == nil or note.parent_id == notebook_id then + return note.id + end end end - end - + page = page + 1 + until not has_more return false end -- If successful returns id of found notebook (folder). function JoplinClient:findNotebookByTitle(title) - local url = "http://"..self.server_ip..":"..self.server_port.."/folders?".."token="..self.auth_token.."&".."query="..title + local url_base = "http://"..self.server_ip..":"..self.server_port.."/folders?".."token="..self.auth_token.."&".."query="..title.."&page=" - local folders = self:_makeRequest(url, "GET") - for _, folder in pairs(folders) do - if folder.title== title then - return folder.id - end - end + local url + local page = 1 + local has_more + repeat + url = url_base..page + local folders = self:_makeRequest(url, "GET") + has_more = folders.has_more + for _, folder in ipairs(folders.items) do + if folder.title == title then + return folder.id + end + end + page = page + 1 + until not has_more return false end @@ -109,10 +124,10 @@ end -- If successful returns id of created note. function JoplinClient:createNote(title, note, parent_id, created_time) local request_body = { - title = title, - body = note, - parent_id = parent_id, - created_time = created_time + title = title, + body = note, + parent_id = parent_id, + created_time = created_time } local url = "http://"..self.server_ip..":"..self.server_port.."/notes?".."token="..self.auth_token local response = self:_makeRequest(url, "POST", request_body)