Spawned originally in the FanFictionDownLoader
plugin thread I came up with a small modification for the built-in Kindle device interface plugin.
This basically takes care of updating the *.mbp file, if available, to match the *.mobi file in case its UID changes (which happens during the EPUB->MOBI conversion process with FFDL when using a Kindle).
This might be useful for other purposes or scenarios so I am posting it here. Some people suggested that it might even be a change that could be integrated into Calibre directly but I'll leave that up to Kovid etc.
Originally Posted by cryzed
[...]There was no easy and obvious way for it to work like I wanted, so I had to implement it as a device plugin that monkey-patches the built-in "Kindle 2/3/4/Touch Device Interface".
There should be no problems when Calibre updates, as long as there are no not-backwards compatible changes to the API.
To install it first disconnect your Kindle, disable the built-in "Kindle 2/3/4/Touch Device Interface" plugin in the "Device Interface plugins" section and then install my mod. After that simply restart Calibre.
is the code for anyone curious. As I said, I'm not responsible for any damage that it might cause -- I can just state that it works on my end.
And to clarify again: Using this simply allows you to keep your current reading location along with other metadata when you update a story with FFDL while using a Kindle or somehow else cause its UID to change. For example you are reading a story called "XYZ" and are currently at location ABC. Now usually when you would update the story with FFDL your current location would be reset, your highlights would disappear etc. -- using this they don't.
EDIT: After some testing with my new touch-generation device (Kindle Paperwhite) my plugin seems to be obsolete. So for anyone planning to make use of this plugin: only do so if your Kindle is not a touch-generation device.
The plugin is attached below.