def cdnode(self, astr_path):
<EOL>l_absPath             = []<EOL>b_valid, l_absPath    = self.b_pathInTree(astr_path)<EOL>if b_valid:<EOL><INDENT>self.l_cwd              = l_absPath[:]<EOL>self.snode_current      = self.snode_root<EOL>self.sbranch_current    = self.sbranch_root<EOL>for node in l_absPath[<NUM_LIT:1>:]:<EOL><INDENT>self.snode_current = self.snode_current.d_nodes[node]<EOL><DEDENT>self.sbranch_current.dict_branch = self.snode_current.snode_parent.d_nodes<EOL>return {"<STR_LIT:status>": True, "<STR_LIT:path>": self.l_cwd}<EOL><DEDENT>return {"<STR_LIT:status>": False, "<STR_LIT:path>": []}<EOL>
Change working node to astr_path.

        The path is converted to a list, split on '/'. By performing a 'cd'
        all parent and derived nodes need to be updated relative to
        new location.

        Args:
            astr_path (string): The path to cd to.

        Returns:
            {"status" : True/False , "path": l_cwd -- the path as list}