Ok, thanks for that. I've put in a simple check:
Code:
while parent.gui.job_manager.has_device_jobs():
debug_print('Device is busy, sleeping')
time.sleep(3)
If nothing is running, and I run Create, it shows its not busy, which is what I expect.
If I kick off Book Sync and separately run Create I get the output that the device is busy - but it stays busy 'forever' even after the Book Sync should be done.
Any idea why this is?
If I use Book Sync to start off the create, it looks like the Create runs before the sub-process for sending books even starts so it still runs Create before the books are on the device
Maybe I'll have to try a delay in starting - but only for the function called by Book Sync and not for the interactive one.
And its clear I'll need to convert over to using jobs since the interface freezes while the plugin sleeps.