[Python.NET] FromManagedObject and Booleans
Michael Foord
fuzzyman at voidspace.org.uk
Fri Nov 2 17:14:10 CET 2007
Hello all,
I'm using the Python.Runtime assembly to provide access to CPython
modules from IronPython.
I'm converting objects that pass from CPython to IronPython (and
vice-versa) by converting datatypes or proxying access.
To convert to CPython types I use "PyObject.FromManagedObject(obj)"
where possible and do type specific conversion for other types.
Unfortunately "PyObject.FromManagedObject(obj)" doesn't work for
booleans and passing in booleans to CPython doesn't result in 'True' or
'False', but a 'System.Boolean' instead.
As a workaround I'm using:
@GIL
def _getBools():
"Hack because 'FromManagedObject' doesn't work for bools"
builtin = engine.ImportModule('__builtin__')
return {False: builtin.GetAttr('False'), True: builtin.GetAttr('True')}
_bools = _getBools()
Is the fact that "PyObject.FromManagedObject(obj)" doesn't work for
booleans a bug? (Or is there an alternative method you can suggest?)
All the best,
Michael Foord
http://www.manning.com/foord
More information about the PythonDotNet
mailing list