TypeError: unindexable object
![](https://secure.gravatar.com/avatar/026c9250db24a7dcdddd4df6f9ccc4fe.jpg?s=120&d=mm&r=g)
Hello, I'm trying to set an object property based on an indexer as described in the C# example here: https://msdn.microsoft.com/en-us/library/hh964567.aspx, but both examples fail with "TypeError: unindexable object" Python code looks like this: criteria = ManagementPackClassCriteria("Name = 'Microsoft.Windows.Computer'") classes = mg.EntityTypes.GetClasses(criteria) CIClass = classes[0] instance = CreatableEnterpriseManagementObject(mg, CIClass) print "instance: "+str(instance) # this isnt None mprop = CIClass["PrincipalName"] instance[mprop].Value = "foo" C# .NET equivalent would be something like this: ManagementPackClass CIClass = mp.GetClass("Microsoft.Windows.Computer"); ManagementPackProperty mprop = CIClass["PrincipalName"]; instance[mprop].Value = "foo"; Error appears to be thrown in pythonnet classobject.cs (https://github.com/pythonnet/pythonnet/blob/master/src/runtime/classobject.c...) Are there any back doors through pythonnet/System.Runtime.something that i can use to get around this? Works fine with IronPython, however i cant package up & use AWS boto3 library with IronPython which i also need (but can with py2exe + pythonnet) - so ideally want to use pythonnet. Thanks! Roger
![](https://secure.gravatar.com/avatar/1b0e722a4823f29c56d7a97bc6500ccc.jpg?s=120&d=mm&r=g)
Can you include full traceback with debug build of pythonnet from develop branch on GitHub? Also please log this issue to github. On Thursday, February 18, 2016, Rog F <r_foskett@hotmail.com> wrote:
Hello,
I'm trying to set an object property based on an indexer as described in the C# example here: https://msdn.microsoft.com/en-us/library/hh964567.aspx, but both examples fail with "TypeError: unindexable object"
Python code looks like this:
criteria = ManagementPackClassCriteria("Name = 'Microsoft.Windows.Computer'") classes = mg.EntityTypes.GetClasses(criteria) CIClass = classes[0] instance = CreatableEnterpriseManagementObject(mg, CIClass) print "instance: "+str(instance) # this isnt None mprop = CIClass["PrincipalName"] instance[mprop].Value = "foo"
C# .NET equivalent would be something like this:
ManagementPackClass CIClass = mp.GetClass("Microsoft.Windows.Computer"); ManagementPackProperty mprop = CIClass["PrincipalName"]; instance[mprop].Value = "foo";
Error appears to be thrown in pythonnet classobject.cs ( https://github.com/pythonnet/pythonnet/blob/master/src/runtime/classobject.c...)
Are there any back doors through pythonnet/System.Runtime.something that i can use to get around this? Works fine with IronPython, however i cant package up & use AWS boto3 library with IronPython which i also need (but can with py2exe + pythonnet) - so ideally want to use pythonnet.
Thanks!
Roger
participants (2)
-
Denis Akhiyarov
-
Rog F