>> I agree that version checking outside would be nicer.  I tried to hack
>> the comtypes.client._generate module and the codegenerator to implement this,
>> but there is one place where an outside version check does not work.  For
>> example, the InternetExplorer typelib generated module contains this 
>> statement:
>>  import comtypes.gen._00020430_0000_0000_C000_000000000046_0_2_0
>> which imports the stdole2.tlb typelib wrapper code.  So this import is not
>> done with some code in the _generate module and cannot be checked from there.
> 
> Good point. So adding the code to the generated module makes the most
> sense. So I guess you'll remove the code outside of the module, then.

Here's the next idea that I have for the version checking:  Version check inside
the generated modules, but using code outside:

So, inside the generated module:

'''
from comtypes import check_wrapper_version
check_wrapper_version('42')
'''

comtypes.check_wrapper_version() would compare against the code generator 
version,
and in the simplest case raise an ImportError("version mismatch").  In a more
sophisticated implementation it could regenerate and reload the module.

But I have no time to implement this now.

-- 
Thanks,
Thomas


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
comtypes-users mailing list
comtypes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/comtypes-users

Reply via email to