@DNSB: thanks for the exception log, and @JSWolf: thanks for the copy of an offending book. That let me find another case where something the plugin calls sometimes wants a byte string instead of a "normal" string. The attached version takes care of that.
I tested it with your book that specifies the encoding, and with one of my books that does not. I checked every box. No fatal failures. The plugin did complain about lacking a cover in your book.
May it please be that this one works.