Build 14252 (http://downloads.safe.com.s3.amazonaws.com/fme/beta/whatsnew_sp.txt) included this changelist:
“Python API change: getAttribute() and getTrait() now return empty strings, rather than None, for null values. (PR#51278)”
Why was this API change introduced?
Takashi helped us discover, in his blog article (http://fme-memorandum-takashi.blogspot.ca/2014/01/efficiency-of-list-attribute.html), an unintended inconsistency in our Python API. FME 2014 has added support for null values through its FME Objects APIs. Support is added both for features and geometries. Existing API methods and functions that wrap around the string versions of getAttribute() and getTrait() from the FME core return empty strings for nulls, as intended.
All APIs appear to behave this way in FME 2014 except the Python API. Therefore, we made the Python API consistent with the other APIs as part of FME 2014 SP1. We have recorded this intended behavior in the section “FME Objects” here (http://fmepedia.safe.com/articles/FAQ/How-does-FME-handle-Null-attribute-values#heading_toc_j_7).
Finally, if you are a plug-in developer, you might be interested in reading FME 2014 Null Porting Guide For Plug-ins (http://fmepedia.safe.com/articles/How_To/FME-2014-Null-Porting-Guide-for-Plug-ins). Users of PythonCaller, TCLCaller, and FME Objects may also find portions of this guide useful.