Originally Posted by pdurrant
It's trying to do something clever to be usable with both files and streams, and so didn't get the file length. The version I'm currently working on abandons the attempt to work with streams (since it seems completely unnecessary), and so should eliminate this infelicity.
That stream interface was only added to allow MobiUnpack to work inside Calibre before Calibre fully support KF8 style ebooks. It needed to handle both interfaces because what Calibre handed to mobiunpack might be a stream or a file depending on things.
So feel free to take it out as Calibre no longer supports internal use of Calibre but you might need to add something then to the plugin interface code so that DiapDealer's MobiUnpack plugin continues to work if you run into any problems.
Hope this helps explain why it was there.