Not a big deal but I have script that reads the value of the UDTParentType property for a UDT instance that could be in one of two folders. It tries reading with the path for the 1st folder and if the result is null then tries reading with the path for the 2nd folder. This used to work fine (I think) but is now broken.
In investigating the problem I found some very surprising results by putting in bogus paths. I promise I don’t have a tag named wombat anywhere in the project.
For example this:
result = system.tag.read('wombat.udtparenttype')
print "Result = %s" % result
print "Result value = %s" % result.value
print "Result value type = %s" % type(result.value)
Produces the following result:
Result = [,Good]
Result value =
Result value type = <type 'unicode'>
And this:
result = system.tag.read('wombat.enabled')
print "Result = %s" % result
print "Result value = %s" % result.value
print "Result value type = %s" % type(result.value)
produces this output
Result = [true,Good]
Result value = True
Result value type = <type 'bool'>
And doing the same thing only misspelling the name of the property throws an exception. So there is obviously some checking going on under the hood the see if the property in the path is valid.
I believe in past versions if you tried to read a tag that doesn’t exist the return value was None. Or is that incorrect?
It’s good to know that that I don’t have a disabled wombat though!