From 651301982acc7a78aa0efa6635f79514ae4f2a50 Mon Sep 17 00:00:00 2001 From: Gordo Lowrey Date: Mon, 6 Sep 2021 17:29:48 -0500 Subject: [PATCH 1/2] added xochitl parent folder config option, and add .content file to support xochitl 2.6+ --- backend/common.js | 3 ++- backend/download.js | 10 ++++++++-- config.json | 3 ++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/backend/common.js b/backend/common.js index 99653ac..25f5ea7 100644 --- a/backend/common.js +++ b/backend/common.js @@ -13,4 +13,5 @@ module.exports.fetchOptions = { module.exports.domain = config.domain; module.exports.listURL = config.listURL; -module.exports.additionalBookLocation = config.additionalBookLocation; \ No newline at end of file +module.exports.additionalBookLocation = config.additionalBookLocation; +module.exports.parentFolderUUID = config.parentFolderUUID; diff --git a/backend/download.js b/backend/download.js index d36e29d..c4b7c1d 100644 --- a/backend/download.js +++ b/backend/download.js @@ -1,7 +1,7 @@ const { writeFileSync, copyFileSync, existsSync, mkdirSync, createWriteStream, constants } = require("fs"); const { join: pathJoin, extname, basename } = require("path"); const { v4 } = require("uuid"); -const { domain, fetchOptions, additionalBookLocation } = require("./common"); +const { domain, fetchOptions, additionalBookLocation, parentFolderUUID} = require("./common"); const fetch = require("node-fetch"); module.exports = function (args, socket) { @@ -71,7 +71,7 @@ module.exports = function (args, socket) { "lastOpenedPage": 0, "metadatamodified": false, "modified": false, - "parent": "", + "parent": parentFolderUUID || "", "pinned": false, "synced": false, "type": "DocumentType", @@ -79,6 +79,12 @@ module.exports = function (args, socket) { "visibleName": fileName })); + if (fileExt == ".epub") { + writeFileSync(xochitlFolder + uuid + ".content", JSON.stringify({ "fileType": "epub" })); + } else if (fileExt == ".pdf") { + writeFileSync(xochitlFolder + uuid + ".content", JSON.stringify({ "fileType": "pdf" })); + } + copyFileSync(tempFilePath, pathJoin(xochitlFolder, uuid + fileExt), constants.COPYFILE_FICLONE); socket.write("COPIED XOCHITL\n"); } diff --git a/config.json b/config.json index b4e4bce..4a861cd 100644 --- a/config.json +++ b/config.json @@ -1,7 +1,8 @@ { "domain": "https://b-ok.global", "cookie": "", - "additionalBookLocation": "/home/root/Books/", + "additionalBookLocation": null, + "parentFolderUUID": null, "defaultQuery": { "exactMatch": "0", "fromYear": "2020", From 76cee7018b0f8019b684358672bebe0cb97aa7af Mon Sep 17 00:00:00 2001 From: Gordo Lowrey Date: Mon, 6 Sep 2021 17:39:15 -0500 Subject: [PATCH 2/2] Update download.js --- backend/download.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/backend/download.js b/backend/download.js index c4b7c1d..ec0bc2a 100644 --- a/backend/download.js +++ b/backend/download.js @@ -79,11 +79,8 @@ module.exports = function (args, socket) { "visibleName": fileName })); - if (fileExt == ".epub") { - writeFileSync(xochitlFolder + uuid + ".content", JSON.stringify({ "fileType": "epub" })); - } else if (fileExt == ".pdf") { - writeFileSync(xochitlFolder + uuid + ".content", JSON.stringify({ "fileType": "pdf" })); - } + // this is needed to get xochitl to handle these files in 2.6, the fileType should be epub for all ebooks, including pdfs + writeFileSync(xochitlFolder + uuid + ".content", JSON.stringify({ "fileType": "epub" })); copyFileSync(tempFilePath, pathJoin(xochitlFolder, uuid + fileExt), constants.COPYFILE_FICLONE); socket.write("COPIED XOCHITL\n");