I can see why Calibre would unzip such a plugin, and it might not be worth having it recognize that a .so file is only a binary resource on a linux platform, .dylib for macOS, dll for Windows, etc., but why would the directory that __file__ points to not exist at runtime if that is the directory that Calibre unzips the plugin to?
The problem that results from this is that these are two third party libraries. Perhaps I would be stuck patching one or the other of them to use the Calibre plugin API, but is there a reason why the use of __file__ should not work if Calibre does unzip to a directory and __file__ does point to that directory? If the .so file does need to be on the disk, how does that work if the directory no longer exists?
|