Ok, let's see if I can do this in some kind of order:
The completed job only displays a dialog for the user - no new jobs.
1. Original code. Search text entered for 1 author to limit list. In device tab: book entry appears with checkmarks and no collections listed, then checkmarks disappear and collections appear but entry still shown.
Code:
self.gui.device_manager.create_job(create_preview.create, self.Dispatcher(self._create_collections_completed), desc, args=[ self, preview ])
self.gui.device_manager.books(self.Dispatcher(self.gui.metadata_downloaded))
3. Without create collections - same as original
Code:
self.gui.device_manager.books(self.Dispatcher(self.gui.metadata_downloaded))
3. Changing original to use FunctionDispatcher - same as original
Code:
self.gui.device_manager.create_job(create_preview.create, self.Dispatcher(self._create_collections_completed), desc, args=[ self, preview ])
self.gui.device_manager.books(FunctionDispatcher(self.gui.metadata_downloaded))
4. Changing to the new suggested call - OK
Code:
self.gui.device_manager.create_job(create_preview.create, self.Dispatcher(self._create_collections_completed), desc, args=[ self, preview ])
self.gui.device_manager.get_device_information(FunctionDispatcher(self.gui.info_read))
So it looks like modifying the code to use more appropriate functions to update the info worked!
Thanks!
Oh, when I say the collections show up - its just simple hash based ones - the code to read all collections from the kindle isn't complete yet.