def __getattr__(self, item):
if item == '<STR_LIT>': <EOL><INDENT>raise AttributeError()<EOL><DEDENT>try:<EOL><INDENT>t = self.__getitem__(item)<EOL>if t is not None:<EOL><INDENT>return t.value<EOL><DEDENT>else:<EOL><INDENT>raise AttributeError("<STR_LIT>".format(repr(self), item))<EOL><DEDENT><DEDENT>except KeyError:<EOL><INDENT>if item.lower() in self._common_properties:<EOL><INDENT>return None<EOL><DEDENT>else:<EOL><INDENT>try:<EOL><INDENT>m = "<STR_LIT>".format(repr(self), item)<EOL><DEDENT>except Exception as e:<EOL><INDENT>m = item<EOL><DEDENT>return self.__getattribute__(item)<EOL><DEDENT><DEDENT>
Maps values to attributes.
        Only called if there *isn't* an attribute with this name