No, there isn't. What would you do if you had something like this? Refuse to run?
We could add a signal that is fired when the ondevice calculations are done. I see two issues. 1) It would be best not to interact with the user in that signal handler, because the GUI would blocked at what appears to be a random time. 2) it would be signaled when books are added or deleted.
Kovid, I am thinking of emitting the signal after we call self.library_view.model().refresh_ondevice() at line 803 of device.py. Do you see any problem with this?