ebook-meta.exe and related dlls
I tought about writing this post as a private message, because there is only one person in the world likely to be able to answer it, but it's probably better to leave the information here in case someone has a similar question in the future.
I've been wanting to write shell extensions for the various formats calibre handles for a while now. I know there are a few floating around (I have seen a thumbnail handler and a couple ifilters) but I haven't found one any would actually use because either they have aren't open source (or not readily trustable), or they leak file handles and/or memory like mad, or they don't extract the same information calibre does at import time.
When I saw ebook-meta.exe I thought I might have hit the jackpot and I would be able to save a lot of time by shamelessly borrowing (ripping off is more appropriate a term) your hard work by hooking in to same functions you are ==> essentially the shell extensions would be wrappers around calibre code.
Wasn't long before I hit a snag however, ebook-meta's isn't like I hoped it would be (an isolated, almost independent section of calibre responsible for handling metadata) - it's more akin to a shortcut launching the calibre environment with one of it's very first call being a call to calibre-launcher.dll which goes on to load a fair chunk of qt and other libraries. It wouldn't really matter if I was only doing a property sheet (slow loading wouldn't be a real issue there) but for a search ifilter it's not appropriate or fast enough.
I stopped my little research there and didn't look much further before coming here. Basically I would like your advice on how to proceed. Should I investigate this approach any further? Am I going to find a neat little python library in the source that does a lot of what I need? Some likely answers for you to copy/paste:
- "forget it, do your own thing", you won't be able to isolate metadata reading/writing from calibre code (or it's going to be more work than to actually writing it yourself).
- "take a look at folder XYZ in the source, some of what you need to do is in there" (with so many meta.py and metadata.py classes in the source i'm having trouble isolating what I need)
- "go away, I have no interest in shell extensions".
- etc.
|