Mobileread
PocketBook Collection Manager
#1  Reaty 11-13-2020, 09:13 AM
Hello, everyone.
I use PocketBook reader and tend to move books between collections a lot, but I found out doing it from the device itself is not very comfortable. So I made an app to manage them from the computer. I though someone here may be interested in it too. I'm very new to coding, so any criticism will be appreciated.

I only tested it on my device, which is Pocketbook 627 (Touch Lux 4). I also heven't figured yet how to package it for something other then Windows. I'll probably get here later.

Sorry, if my English is bad.

Quote
Link to GitHub
Reply 

#2  jpijper 11-14-2020, 04:43 AM
Thank you

Your app also works on my PB632 - Touch HD3.

I just downloaded and ran it, so I know it works. I will play a little more soon and give feedback here.
Reply 

#3  nhedgehog 11-24-2020, 05:56 AM
Nice idea, thank you, should probably be moved to:
https://www.mobileread.com/forums/fo...play.php?f=232
Reply 

#4  JSWolf 11-24-2020, 09:15 AM
Would it be possible for this to be rewritten as a Calibre plugin?
Reply 

#5  jpijper 11-24-2020, 10:10 AM
Quote JSWolf
Would it be possible for this to be rewritten as a Calibre plugin?
That would be ideal yes
Reply 

#6  nhedgehog 11-24-2020, 11:05 AM
Tried it though I normally don't use collections just series.
Here some hopefully constructive feedback:

1) First start, my firewall reported that it was trying to connect to some google adress, is this necessary?
2) My system language is neither English nor Russian, so I landed in the Russisan interface with the Russian database opening error messages, changing the text in locale.txt from ru to en solved that.
3) I was a little confused about the interface. Tried adding a new shelf but nothing happened. Filtering by tag, name and series worked though series has some strange selection entries upfront:
Quote
{"category_sort": "value", "#value#": null, "name": "more_series", "colnum": 1, "datatype": "text", "search_terms": ["#more_series"], "rec_index": 24, "column": "value", "label": "more_series", "is_csp": false, "is_custom": true, "#extra#": null, "is_category": true, "is_multiple2": {}, "link_column": "value", "display": {"use_decorations": 0}, "is_editable": true, "is_multiple": null, "table": "custom_column_1", "kind": "field"}
{"datatype": "text", "column": "value", "rec_index": 24, "search_terms": ["#more_series"], "is_csp": false, "table": "custom_column_1", "is_multiple": null, "#value#": null, "is_multiple2": {}, "colnum": 1, "category_sort": "value", "name": "more_series", "is_editable": true, "display": {"use_decorations": 0}, "link_column": "value", "label": "more_series", "is_category": true, "#extra#": null, "is_custom": true, "kind": "field"}
{"datatype": "text", "display": {"use_decorations": 0}, "link_column": "value", "column": "value", "kind": "field", "is_custom": true, "rec_index": 24, "search_terms": ["#more_series"], "#extra#": null, "is_multiple2": {}, "colnum": 1, "table": "custom_column_1", "is_category": true, "is_editable": true, "name": "more_series", "is_multiple": null, "is_csp": false, "label": "more_series", "#value#": null, "category_sort": "value"}
{"display": {"use_decorations": 0}, "datatype": "text", "#value#": null, "name": "more_series", "is_custom": true, "colnum": 1, "is_csp": false, "is_multiple": null, "kind": "field", "is_multiple2": {}, "category_sort": "value", "table": "custom_column_1", "is_category": true, "link_column": "value", "is_editable": true, "column": "value", "label": "more_series", "rec_index": 24, "#extra#": null, "search_terms": ["#more_series"]}
{"is_custom": true, "rec_index": 24, "link_column": "value", "label": "more_series", "is_editable": true, "display": {"use_decorations": 0}, "datatype": "text", "name": "more_series", "#extra#": null, "column": "value", "is_csp": false, "#value#": null, "kind": "field", "category_sort": "value", "search_terms": ["#more_series"], "colnum": 1, "is_multiple": null, "is_multiple2": {}, "is_category": true, "table": "custom_column_1"}
{"is_editable": true, "is_multiple2": {}, "table": "custom_column_1", "#value#": null, "label": "more_series", "is_multiple": null, "is_custom": true, "rec_index": 24, "datatype": "text", "column": "value", "display": {"use_decorations": 0}, "kind": "field", "is_csp": false, "category_sort": "value", "#extra#": null, "link_column": "value", "name": "more_series", "colnum": 1, "is_category": true, "search_terms": ["#more_series"]}
{"is_editable": true, "kind": "field", "table": "custom_column_1", "is_category": true, "link_column": "value", "#extra#": null, "search_terms": ["#more_series"], "name": "more_series", "label": "more_series", "rec_index": 24, "is_custom": true, "display": {"use_decorations": 0}, "datatype": "text", "category_sort": "value", "column": "value", "is_multiple2": {}, "#value#": null, "is_csp": false, "is_multiple": null, "colnum": 1}
{"is_multiple": null, "is_category": true, "#value#": null, "is_custom": true, "table": "custom_column_1", "column": "value", "rec_index": 24, "is_multiple2": {}, "name": "more_series", "link_column": "value", "is_csp": false, "colnum": 1, "#extra#": null, "search_terms": ["#more_series"], "display": {"use_decorations": 0}, "category_sort": "value", "datatype": "text", "kind": "field", "label": "more_series", "is_editable": true}
{"is_multiple": null, "name": "more_series", "datatype": "text", "#extra#": null, "category_sort": "value", "#value#": null, "is_category": true, "label": "more_series", "rec_index": 24, "is_multiple2": {}, "kind": "field", "search_terms": ["#more_series"], "table": "custom_column_1", "is_csp": false, "colnum": 1, "display": {"use_decorations": 0}, "is_custom": true, "column": "value", "is_editable": true, "link_column": "value"}
{"kind": "field", "#value#": null, "table": "custom_column_1", "is_multiple": null, "is_custom": true, "is_category": true, "label": "more_series", "link_column": "value", "datatype": "text", "column": "value", "display": {"use_decorations": 0}, "search_terms": ["#more_series"], "is_multiple2": {}, "category_sort": "value", "#extra#": null, "colnum": 1, "name": "more_series", "is_csp": false, "is_editable": true, "rec_index": 24}
{"label": "more_series", "column": "value", "is_editable": true, "is_custom": true, "rec_index": 24, "category_sort": "value", "name": "more_series", "search_terms": ["#more_series"], "is_multiple2": {}, "kind": "field", "is_csp": false, "link_column": "value", "is_category": true, "#value#": null, "datatype": "text", "colnum": 1, "display": {"use_decorations": 0}, "is_multiple": null, "table": "custom_column_1", "#extra#": null}
{"search_terms": ["#more_series"], "category_sort": "value", "is_multiple": null, "name": "more_series", "datatype": "text", "is_category": true, "label": "more_series", "column": "value", "#value#": null, "table": "custom_column_1", "#extra#": null, "is_csp": false, "colnum": 1, "is_multiple2": {}, "kind": "field", "display": {"use_decorations": 0}, "is_editable": true, "link_column": "value", "rec_index": 24, "is_custom": true}
{"search_terms": ["#more_series"], "is_editable": true, "table": "custom_column_1", "is_category": true, "category_sort": "value", "colnum": 1, "label": "more_series", "rec_index": 24, "name": "more_series", "column": "value", "is_custom": true, "kind": "field", "is_csp": false, "display": {"use_decorations": 0}, "datatype": "text", "is_multiple2": {}, "#extra#": null, "is_multiple": null, "#value#": null, "link_column": "value"}
{"search_terms": ["#more_series"], "table": "custom_column_1", "colnum": 1, "#extra#": null, "display": {"use_decorations": 0}, "is_category": true, "link_column": "value", "column": "value", "is_csp": false, "#value#": null, "category_sort": "value", "is_multiple": null, "is_multiple2": {}, "datatype": "text", "name": "more_series", "is_editable": true, "kind": "field", "label": "more_series", "rec_index": 24, "is_custom": true}
4) After the filtering and selecting "add to shelf", there should be an option to create a new shelf, even if no shelf is existing. I couldn't do much with it without this option.
5) I found no possibility to change the series entry, I guess till now this app is only working with shelfs.
6) After disconnecting the device from the computer, I got a blank screen, which didn't go away. Had to force the device to switch off before the Main Screen was visible again.
7) After creating one shelf on my pocketbook, suddenly creating new shelfs worked in the app. But something strange happened: I filtered per author, selected all books (via the "select all books" button) and selected add to shelf, assuming that all the books in the filtered selection will be added to the shelf. Strange enough not only the filtered but all my books were added to the shelf. If the books were manually selected, only those were added to the shelf. But still I think what I wrote on 4) should be applied.

All the shelf changes I made with this app were available after a restart (see 6) on the device!
My devices PB 740 (InkPad 3 FW 6.1.1069) & win7 64bit.

All in all in my opinion a very useful app which only needs some corrections. Thank you.
Reply 

#7  Kleki 11-24-2020, 06:04 PM
Very nice. I recently tried to use collections on my HD3 but quickly gave up as it was too cumbersome sorting the books on the reader. Now it took me only a few minutes. Thanks a lot for this tool.

I found none of the issues reported above or any other for that matter. I didn't really understand what cross, tick mark and the hearts are good for. Can you please explain?
Reply 

#8  Reaty 11-26-2020, 08:43 PM
Quote JSWolf
Would it be possible for this to be rewritten as a Calibre plugin?
I don't know, it would require Python programming, and I only know how to code in JavaScript for now. Besides, the main idea of the app was not to change books files, but only provide a handy GUI to manipulate a database that holds books data on device. I have no idea if this can be inplemented in Calibre.


Quote nhedgehog
1) First start, my firewall reported that it was trying to connect to some google adress, is this necessary?
That's weird, the app is supposed to be completely offline. Can you tell me what adress it was?


Quote nhedgehog
3)Tried adding a new shelf but nothing happened.
...
After creating one shelf on my pocketbook, suddenly creating new shelfs worked in the app. But something strange happened: I filtered per author, selected all books (via the "select all books" button) and selected add to shelf, assuming that all the books in the filtered selection will be added to the shelf. Strange enough not only the filtered but all my books were added to the shelf. If the books were manually selected, only those were added to the shelf.
Can you redownload app and try again? I fixed some bugs that can be related to that.


Quote nhedgehog
series has some strange selection entries upfront:
Well, that's confusing. Definitely didn't come from my code. Probably has something to do with the database. What happens if you select these entries?


Quote nhedgehog
4) After the filtering and selecting "add to shelf", there should be an option to create a new shelf, even if no shelf is existing. I couldn't do much with it without this option.
Good idea, I will add this option.


Quote nhedgehog
5) I found no possibility to change the series entry, I guess till now this app is only working with shelfs.
No, it is not possible to change series. I don't think I will add this possibility. You can use Calibre, if you need to change series permanently within book file, because this app can't change files. Or you can change the database itself (it should be located at device/system/explorer-3/explorer-3.db) whith some tool like DB Browser for SQLite or something like this. I made my app, because changing shelfs in DB directly is too complicated, but changing series is pretty simple.


Quote nhedgehog
6) After disconnecting the device from the computer, I got a blank screen, which didn't go away. Had to force the device to switch off before the Main Screen was visible again.
You mean, blank screen on the device?


Quote Kleki
I didn't really understand what cross, tick mark and the hearts are good for. Can you please explain?
You can add books to favorite/delete from favorite clicking on heart symbols. You also can mark/unmark them as finished. That was what symbols near the books and on the bottom when selected are for. Buttons on the top allow you to filter books by favorite/not favorite/completed/not completed.
Reply 

#9  Reaty 11-28-2020, 04:10 PM
I added a couple of new options. Now it is possible to add new shelf directly from shelf selection windows. Also now you can exclude tags in tag filter.
Reply 

#10  JSWolf 11-28-2020, 05:33 PM
Quote Reaty
I don't know, it would require Python programming, and I only know how to code in JavaScript for now. Besides, the main idea of the app was not to change books files, but only provide a handy GUI to manipulate a database that holds books data on device. I have no idea if this can be inplemented in Calibre.
If it can be done in JavaScript, it can be done in Python with Calibre. If this was a Calibre plugin, it would not change the eBook files at all. It would just create the collection and set the eBook to be in that collection. That's how it works for Sony Readers and Kobo Readers.
Reply 

  Next »  Last »  (1/2)
Today's Posts | Search this Thread | Login | Register