Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 08-22-2014, 07:25 PM   #1
barsanuphe
Enthusiast
barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.
 
Posts: 48
Karma: 36032
Join Date: Aug 2014
Location: Paris, France
Device: PW2
LibrarianSync: Kindle collections builder

What it is.

LibrarianSync is a Kindle collection builder, originally meant as a complement to Librarian, but which can be used completely independently.

It has been tested on a Kindle PW2 (EU, Wi-Fi) FW 5.4.5.1, and on a Touch FW 5.3. It probably works on other K5 devices. It apparently works on the Voyage as well.

It can use as a source:
  • a json file in native format (such as generated by Librarian when syncing, see below)
  • the json file automatically generated by the Calibre Kindle Collections plugin)
  • the folder structure inside the documents/ folder.

Using the json file, the entries can either remplace all existing collections or update existing collections. Using folder structure, all previously existing collections are dropped.

The native json format looks as follows:

Code:
{
  "library/Alexandre Dumas/Alexandre Dumas (2004) Les Trois Mousquetaires.mobi": ["gutenberg","french","not read"],
  "library/Alexandre Dumas/Alexandre Dumas (2011) Le Comte De Monte-Cristo.mobi": ["gutenberg","french","most awesome book ever"],
  "re:Alexandre Dumas (Père|Fils)": ["dumas"]
}
As shown in the last line, you can add (python) regular expressions instead of filenames (with a re: prefix); all matches will be added to the associated collection.

What is needed.

LibrarianSync comes as a KUAL menu entry. As such, it requires: a jailbroken PW2, MKK, KUAL, and python (snapshot > 0.10N-r10867).

For more information, see the README file on github.

Where it is.

The code resides on github.
See attachments for an up to date Kindle package.

Note: the code has moved to a separate repository as LibrarianSync has become something useful in its own right. Please update your git remotes to the new repository.

Where it comes from.

LibrarianSync is inspired by this thread.

Thanks to NiLuJe for all the contributions and continuous support, and kaznelson for his initial courageous sqlite investigations.

Feedback is very much welcome.

LibrarianSync Changelog

v1.10 - fixed when getting a null cdetype, added Voyage support.
v1.9 - fixed support of non-cloud aware devices
v1.8 - fixed collection appearing twice in FW 5.6
v1.7 - added support for regular expressions in librarian json when building collections with LibrarianSync.
v1.6 - fixed exporting collections, added downloading ebooks hosted over http by librarian.
v1.5 - package available for all k5 models.
v1.4 - updating collections is now faster.
v1.3 - calibre plugin json support & ability to export current collections (librarian and calibre plugin versions). While running the script, current operation now logged and displayed.
v1.2 - experimental calibre plugin json support & ability to export current collections to extensions/exported_collections.json.
v1.1 - experimental calibre plugin json support
v1.0 - original version
Attached Thumbnails
Click image for larger version

Name:	librariansync_v1.6.png
Views:	949
Size:	21.8 KB
ID:	128575  
Attached Files
File Type: gz librariansync-1.0.tar.gz (7.0 KB, 102 views)
File Type: gz librariansync-1.1.tar.gz (7.4 KB, 51 views)
File Type: gz librariansync-1.2.tar.gz (8.0 KB, 59 views)
File Type: gz librariansync-1.3.tar.gz (10.6 KB, 58 views)
File Type: gz librariansync-1.4.tar.gz (10.9 KB, 101 views)
File Type: gz librariansync-1.5.tar.gz (11.4 KB, 55 views)
File Type: gz librariansync-1.6.tar.gz (12.4 KB, 95 views)
File Type: gz librariansync-1.7.tar.gz (12.7 KB, 447 views)
File Type: gz librariansync-1.8.tar.gz (12.7 KB, 29 views)
File Type: gz librariansync-1.9.tar.gz (12.7 KB, 218 views)
File Type: gz librariansync-1.10.tar.gz (13.3 KB, 87 views)

Last edited by barsanuphe; 04-11-2015 at 05:35 PM. Reason: LibrarianSync updated
barsanuphe is offline   Reply With Quote
Old 08-22-2014, 09:02 PM   #2
knc1
Helpdesk Junkie
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 7,519
Karma: 6900000
Join Date: Feb 2012
Device: Too many.
Quote:
Originally Posted by barsanuphe View Post
Thanks to all the (old but still relevant) information in this thread I managed to write a python script to automatically generate collections on my pw2.
Instead of looking at the files or directory structure, it uses information in a json file to create and populate collections. This way it's possible to manage collections just with one simple text file, such as:



In case someone might find this helpful, the script and KUAL menu entry can be found at https://github.com/barsanuphe/librar.../librariansync.
Thanks for this.

It comes at a good time, since the interactive Collection Manager is not (yet) ported to all of the PW2 firmware / hardware combinations.

Note:
I think this will also work on other models of Kindles - that DB probably doesn't (didn't) change that often.
knc1 is offline   Reply With Quote
Old 08-24-2014, 04:43 AM   #3
barsanuphe
Enthusiast
barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.
 
Posts: 48
Karma: 36032
Join Date: Aug 2014
Location: Paris, France
Device: PW2
Yes, I guess it should work with other models, after all this thread was originally about the Kindle Touch. I only have a pw2 (EU), so I can't verify that. If anyone is willing to try it on a different model, feedback would be welcome.

Also, I updated the script and KUAL menu to allow for incremental collection updates, that do not rebuild all collections but merely add the json entries into existing or new collections.
barsanuphe is offline   Reply With Quote
Old 08-24-2014, 07:08 PM   #4
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 5,703
Karma: 5561861
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW & PW2; Kobo H2O
@barsanuphe: I'll probably get my ass in gear and bundle the sqlite3 & requests Python modules in the next snapshots, FYI; that should hopefully let you get rid of the curl & sqlite3 forks.

EDIT: Done .

Last edited by NiLuJe; 08-26-2014 at 08:10 PM.
NiLuJe is offline   Reply With Quote
Old 08-24-2014, 07:55 PM   #5
knc1
Helpdesk Junkie
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 7,519
Karma: 6900000
Join Date: Feb 2012
Device: Too many.
The Amazon Lua install includes the sqlite and json add-on libraries as I recall (at least on the PW1, I think on the KT also, PW2 is unknown).

If someone wanted to get ambitious, they could re-write this in Lua and avoid any add-in support packages.

The same code (and libraries) shipped by Amazon can also be run by the ARMhf Luajit if the user had those installed.

- - - -

Just a thought -
Not something I have time to do.
And twobob is still off, dealing with "life".
knc1 is offline   Reply With Quote
Old 08-28-2014, 08:01 PM   #6
barsanuphe
Enthusiast
barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.
 
Posts: 48
Karma: 36032
Join Date: Aug 2014
Location: Paris, France
Device: PW2
Quote:
Originally Posted by NiLuJe View Post
@barsanuphe: I'll probably get my ass in gear and bundle the sqlite3 & requests Python modules in the next snapshots, FYI; that should hopefully let you get rid of the curl & sqlite3 forks.

EDIT: Done .
Great! I hadn't seen your update. I updated my script to use the new modules.
I didn't know the requests module, it's pretty nifty.
barsanuphe is offline   Reply With Quote
Old 08-28-2014, 08:57 PM   #7
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 5,703
Karma: 5561861
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW & PW2; Kobo H2O
@barsanuphe: That was fast ^^.

Yep, requests is great . Did the switch affect performance in any measurable way?
NiLuJe is offline   Reply With Quote
Old 08-29-2014, 01:13 AM   #8
kaznelson
Zealot
kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.
 
kaznelson's Avatar
 
Posts: 132
Karma: 751291
Join Date: May 2010
Location: Moscow
Device: Kobo Aura H2O, Kindle PW2
barsanuphe
Whether it's possible to make "lite" version?
To create collections on folders names (without metainfo), and worked ONLY on Kindle? (without computer)
kaznelson is online now   Reply With Quote
Old 08-29-2014, 05:23 AM   #9
barsanuphe
Enthusiast
barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.
 
Posts: 48
Karma: 36032
Join Date: Aug 2014
Location: Paris, France
Device: PW2
@NiLuJe:

I have not looked at the performance aspect yet, and am testing with only a few ebooks on my Kindle. I expect it to be faster though, but couldn't tell you by how much. Also, all operations are now sent in a single POST request, which should help too.

@kaznelson:

I updated the script and added a new entry in the KUAL menu to that effect. You should now be able to create collections from your folder structure, without json file. The collection name is the path of each ebook (without filename), relative to /mnt/us/documents.

ie if you have "/mnt/us/documents/sf/franck herbert/dune/dune.epub", the collection name will be "sf/franck herbert/dune".

I tried earlier to make nested collections, but I found only top collections are displayed on my Kindle. A subcollection can be added to a collection but does not show up on the interface. Reading through the Collection Manager thread, it seems it's a firmware issue...
barsanuphe is offline   Reply With Quote
Old 08-29-2014, 09:44 AM   #10
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 5,703
Karma: 5561861
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW & PW2; Kobo H2O
@barsanuphe: Yup, nesting was broken in FW 5.4.2, and it hasn't resurfaced since.

I was thinking of using this with the Calibre Kindle Collections plugin, most likely by making it understand the json schema used by the plugin, since the plugin already takes care of a number of sanity checks (namely the uuid/ASIN handling of each book).

FWIW, the schema is as follows:

Code:
{
	"<CollectionName>@<Language>":
	{
		"items":
		[
			"<hash>"
		],
		"lastAccess": <epoch>
	}
}
So, as an example with a few different types of hash, that would look something like:

Code:
{
	"Apps@en-US":
	{
		"items":
		[
			"#B006VZUZV2^AZW2"
		],
		"lastAccess": 1344387337000
	},
	"Brandon Sanderson@en-US":
	{
		"items":
		[
			 "*c98b6567481d950dccad195379053e2539f1d75c",
			 "#12e45a36-0410-4caf-b32d-dc807713d8e9^EBOK"
		],
		"lastAccess": 1234567889976
	}
}
(The indentation is all mine, for formatting purposes only).

Last edited by NiLuJe; 08-29-2014 at 07:01 PM.
NiLuJe is offline   Reply With Quote
Old 08-29-2014, 12:35 PM   #11
kaznelson
Zealot
kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.
 
kaznelson's Avatar
 
Posts: 132
Karma: 751291
Join Date: May 2010
Location: Moscow
Device: Kobo Aura H2O, Kindle PW2
barsanuphe
Thanks, it work.

Two small adding:

1) File generate_collections.py, line 53: [".epub", ".mobi", ".azw3"]
Amazon books standard formats: [".azw", ".azw3", ".mobi", ".prc", ".pdf", ".txt"]

2) Books from /mnt/us/documents/ are added in collection "root" - is incorrect, imho.
kaznelson is online now   Reply With Quote
Old 08-29-2014, 04:03 PM   #12
barsanuphe
Enthusiast
barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.barsanuphe can successfully navigate the Paris bus system.
 
Posts: 48
Karma: 36032
Join Date: Aug 2014
Location: Paris, France
Device: PW2
@NiLuJe
I'm not familiar with the calibre plugin, where do the items hashes come from? Are they generated by the plugin (which means they would have to be created on the kindle) or are they extracted from the Kindle db?

@kaznelson
1) updated with your list
2) books in documents/ are now ignored. I agree the root collection made no sense
barsanuphe is offline   Reply With Quote
Old 08-29-2014, 06:57 PM   #13
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 5,703
Karma: 5561861
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW & PW2; Kobo H2O
@barsanuphe: It's in fact the original format used by the Collections feature on Kindles before FW 5.x came along .

The hash is generated (in this instance, by the plugin) from the metadata of the file, it follows the format '#ASIN^cdeType' if an ASIN is set [valid, like in my Apps exemple, or invalid [Calibre generated], like in the second collection. If the ASIN isn't set, it's formatted as '*hash', where hash is the md5 of the absolute path of the file (using /mnt/us as the userstore root).
As for the cdeType, I *think* it's mandatory for a file to be valid/collectionable, and if it isn't, I'm assuming that defaults to EBOK or PDOC.
Anyway, the plugin handles that aspect to make sure that what's end up in the json is sane.

On FW 5.x, in the SQLite db, those are stored in two distinct fields, as p_cdeKey & p_cdeType in the Entries table, and i_member_cde_type & i_member_cde_key in the Collections table, with the notable difference that the '#' is *NOT* present anymore in front of the ASIN (the '*' of the legacy hashes stays, though).

TL;DR: You can get the db uuid of an item from the db w/ these .

Last edited by NiLuJe; 08-29-2014 at 07:06 PM.
NiLuJe is offline   Reply With Quote
Old 08-30-2014, 08:45 AM   #14
kaznelson
Zealot
kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.kaznelson ought to be getting tired of karma fortunes by now.
 
kaznelson's Avatar
 
Posts: 132
Karma: 751291
Join Date: May 2010
Location: Moscow
Device: Kobo Aura H2O, Kindle PW2
Experiments with collections (excuse for my english ).

To collections created with LibSync, it's impossible to standardly add books without problems.
Possible to open "Add to Collections" screen, but after a book "check" and press "Done" - my Kindle don't exit on "Home" screen! Only reboot.
Also automatically added books don't hide from "Home" screen, if are added in a LibSync collections.

I compared cc.db, created standardly offline and LibSync:
p_type "Collection" (collections)
Code:
Original file cc.db:				LibSync file cc.db:
p_isArchived = 1				p_isArchived = 0
j_collections = NULL				j_collections = []
p_collectionCount = NULL			p_collectionCount = 0
p_collectionDataSetName = <p_uuid from cc.db>	p_collectionDataSetName = 0
p_type "Entry:Item" (books)
Code:
Original file cc.db:			LibSync file cc.db:
p_collectionCount = 1			p_collectionCount = 0
Also LibSync don't fill a file wsync.db. At standard offline creation of a collection with name "Misc":

In table DataSetProperties string is added
Code:
CloudCollections.Items<p_uuid from cc.db>	<p_uuid from cc.db>	CloudCollections.Items	<...and more...>
In table SyncRecords string is added
Code:
CloudCollectionsCollectionEntries<p_uuid from cc.db>	CloudCollectionsCollectionEntries	<p_uuid from cc.db>	"{""type"":""BOOKS"",""title"":""Misc"",""sortTitle"":""Misc"",""phoneticTitle"":""Misc"",""language"":""en-GB"",""version"":""1.0""}"	<...and more...>
________________________________________

In LibSync collections +wsync.db i made these changes manually (by SQLiteStudio). After reboot - errors disappeared.

I don't know, all is necessary or not. But possibly it's necessary to fill wsync.db and to specify uuid collections in a column p_collectionDataSetName (cc.db).

And probably, collection locale should take from system locale (en-US or...)

Last edited by kaznelson; 08-30-2014 at 09:37 AM.
kaznelson is online now   Reply With Quote
Old 08-30-2014, 09:17 AM   #15
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 5,703
Karma: 5561861
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW & PW2; Kobo H2O
@kaznelson: That vaguely reminds me of a similar user report w/ CM... Does CM do it 'properly'?

Last edited by NiLuJe; 08-30-2014 at 09:50 AM.
NiLuJe is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Vocabulary builder and flash card feature on old kindle 2/3/dx? dark.knight1 Kindle Developer's Corner 10 01-20-2015 09:35 AM
PW2 Vocabulary builder bobafruit Kindle Developer's Corner 22 12-29-2014 06:57 PM
Free (nook/Kindle/iTunes/DRM-free) Legacy Builder [Xtian Business Leadership Advice] ATDrake Deals, Freebies, and Resources (No Self-Promotion) 0 10-13-2014 02:44 AM
Vocabulary Builder for Kindle Paperwhite 1 pxpxpx Amazon Kindle 2 02-16-2014 06:07 PM
SBPubX Builder tmaynard Fictionwise eBookwise 16 11-20-2008 12:35 PM


All times are GMT -4. The time now is 05:03 AM.


MobileRead.com is a privately owned, operated and funded community.