def __getattribute__(self, item):
try:<EOL><INDENT>attr = super(Node, self).__getattribute__(item)<EOL>if not inspect.isroutine(attr):<EOL><INDENT>result = attr<EOL><DEDENT>else:<EOL><INDENT>raise AttributeError()<EOL><DEDENT><DEDENT>except AttributeError:<EOL><INDENT>result = Node(os.path.join(self._pyerarchy_path, item))<EOL><DEDENT>return result<EOL>
Attribute name resolution

        Returns a child node with the name of the accessed attribute. If the object has an attribute with such a name
         return the attribute value.