[Python-au] ODMA in python

Mark Hammond mhammond at skippinet.com.au
Tue Jan 13 01:36:43 CET 2004


> Im very new to python under windows, Infact, Im fairly new to
> windows,
> having grown up on unix. I now have the task of implementing ODMA
> (http://www.infonuovo.com/odma) which is a windows c++ library that
> allows DMSs to capture save/open/search events from windows
> applications
> like M$ word, photoshop etc, In python. This is so that we can use it
> via pyxpcom in our mozilla application. Im wondering if
> anyone has done
> this yet, or knows of a way to interface to ODMA from python?

I was involved in an ODMA project a few years ago.  From memory, the base
ODMA spec is pretty simple - a few C entry points.  To implement this in
Python, I would wrap up a simple "extension" DLL, that was a Python
extension module, *and* a DLL with the ODMA entry points.  This module
simply calls back to Python.

I note from the URL above there may be some COM interface available to you.
If that is true and works fine, then using the win32com package should not
be a problem.  However, a big issue will be how you interface with pyxpcom.
As you are probably aware, xpcom etc is all 'in-process', as is ODMA itself.
This means that you will not be able to have a simple, external
"mozilla.exe" doing the work for you.  If you need to "delegate" to an
external process, such as mozilla, you will need to implement some kind of
inter-process comms between your 'inproc' ODMA code (which is running
inside, eg, word.exe) and the external mozilla.exe.  You may be able to
craft this IPC code using COM though, but Mozilla itself wont give you much
help.

I hope this makes some sense :)

Mark.





More information about the python-au mailing list