Ryan Felder
rfelder at globaltecsolutions.com
Mon Feb 9 15:40:13 EST 2004
Hi all, I'm pretty new to working with Mod_Python, and the project I am working on requires me to be able to poll for some data through COM. I am developing in windows 2000 professional, and will be running my code on windows apache 2.0 with mod python. More specifically, I am using the distribution of apache ssl and others named Swamp. The code works fine when I run it standalone, however, when I attempt to run it on my development site, the calls to the com object that work beautifully alone, simply fail to return data. As follows is a brief code sample which demonstrates this behaviour. This code functions properly from a command prompt or in the interpreter. def index(): import win32com.client a=win32com.client.Dispatch('MyDataSource') b=str(a.GetOrders(account_identifier,'',2,0)) return str(len(b)) if __name__ == "__main__": print index() When this code runs standalone, it will return a non-zero value, and when run from mod_python, it returns a zero value, due to the len() function measuring the length of the output of my data call. By way of typos, I have been able to produce exceptions in my testing browser, so this leads me to believe that it is not passing any exceptions. My research online has suggested that I try importing my modules through apache.import_module. This gives me a number of different issues where if I instantiate an instance of win32com, then try to address that.client.Dispatch, I recieve "module does not have 'client'", or similarly, if I try to instantiate an instance of win32com.client, I recieve "module does not have 'Dispatch'". I have also seen it suggested that I initialize the com properly, and manually, by import sys sys.coinit_flags = 0 as well as import pythoncom pythoncom.CoInitializeEx(pythoncom.COINIT_MULTITHREADED) which I do before attemting to import win32com, but to no avail, in many, and in all permutations. I have tried every permutation of apache.import_module and import, that I can muster, and I am hitting a brick wall. It seems that there is a breakdown in communications between myself and the com objects when I try to import them. Any help that you all can offer me would be hugely appreciated! - Ryan
|