]> gitweb.fluxo.info Git - scripts.git/commitdiff
Adds export-koreader-note
authorSilvio Rhatto <rhatto@riseup.net>
Sun, 16 Aug 2020 20:44:16 +0000 (17:44 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sun, 16 Aug 2020 20:44:16 +0000 (17:44 -0300)
export-koreader-note [new file with mode: 0755]

diff --git a/export-koreader-note b/export-koreader-note
new file mode 100755 (executable)
index 0000000..ae2e0ef
--- /dev/null
@@ -0,0 +1,46 @@
+#!/usr/bin/env lua
+--
+-- Convert koreader metadata to markdown.
+--
+
+-- Sort by page number
+function compare(a, b)
+  return a.page < b.page
+end
+
+-- Check if a file exists
+-- Thanks https://stackoverflow.com/questions/4990990/check-if-a-file-exists-with-lua#4991602
+function file_exists(name)
+  local f=io.open(name,"r")
+  if f~=nil then io.close(f) return true else return false end
+end
+
+-- Get filename
+file = arg[1]
+
+-- Usage
+if file == nil then
+  print('usage: ' .. arg[0] .. ' <filename>')
+  os.exit(1)
+else
+  if not file_exists(file) then
+    print('file not found: ' .. file)
+    os.exit(1)
+  end
+end
+
+-- Load metadata
+content   = assert(loadfile(file))
+data      = content()
+bookmarks = data.bookmarks
+
+-- Sort
+table.sort(bookmarks, compare)
+
+-- Iterate over bookmarks
+for key, item in ipairs(bookmarks) do
+  print('Page ' .. item.page .. ':')
+  print('')
+  print('> ' .. item.notes)
+  print('')
+end