def node_save(self, astr_pathInTree, **kwargs):
str_pathDiskRoot    = '<STR_LIT>'<EOL>str_pathDiskOrig    = os.getcwd()<EOL>srt_pathDiskFull    = '<STR_LIT>'<EOL>str_pathTree        = '<STR_LIT>'<EOL>str_pathTreeOrig    = self.pwd()<EOL>b_failOnDirExist    = True<EOL>b_saveJSON          = True<EOL>b_savePickle        = False<EOL>for key, val in kwargs.items():<EOL><INDENT>if key == '<STR_LIT>':      str_pathTree        = val<EOL>if key == '<STR_LIT>':   str_pathDiskRoot    = val<EOL>if key == '<STR_LIT>': b_failOnDirExist    = val<EOL>if key == '<STR_LIT>':       b_saveJSON          = val<EOL>if key == '<STR_LIT>':     b_savePickle        = val<EOL><DEDENT>str_pathDiskFull    = str_pathDiskRoot + str_pathTree<EOL>if len(str_pathDiskRoot):<EOL><INDENT>if not os.path.isdir(str_pathDiskRoot):<EOL><INDENT>try:<EOL><INDENT>os.makedirs(str_pathDiskRoot)<EOL><DEDENT>except OSError as exception:<EOL><INDENT>return {'<STR_LIT:status>' :      False,<EOL>'<STR_LIT>':     False,<EOL>'<STR_LIT:message>':      '<STR_LIT>' % str_pathDiskRoot,<EOL>'<STR_LIT>':    exception}<EOL><DEDENT><DEDENT>os.chdir(str_pathDiskRoot)<EOL>if self.cd(str_pathTree)['<STR_LIT:status>']:<EOL><INDENT>if str_pathTree != '<STR_LIT:/>':<EOL><INDENT>try:<EOL><INDENT>os.makedirs(str_pathDiskFull)<EOL><DEDENT>except OSError as exception:<EOL><INDENT>if b_failOnDirExist:<EOL><INDENT>return {'<STR_LIT:status>' :      False,<EOL>'<STR_LIT>':     False,<EOL>'<STR_LIT:message>':      '<STR_LIT>' % str_pathDiskRoot,<EOL>'<STR_LIT>':    exception}<EOL><DEDENT><DEDENT><DEDENT>os.chdir(str_pathDiskFull)<EOL>for str_filename, contents in self.snode_current.d_data.items():<EOL><INDENT>if b_saveJSON:<EOL><INDENT>with open(str_filename, '<STR_LIT:w>')    as f: json.dump(contents,     f)<EOL>f.close()<EOL><DEDENT>if b_savePickle:<EOL><INDENT>with open(str_filename, '<STR_LIT:wb>')   as f: json.dump(contents,     f)<EOL>f.close()<EOL><DEDENT><DEDENT><DEDENT>else:<EOL><INDENT>return{'<STR_LIT:status>':    False,<EOL>'<STR_LIT>':  False,<EOL>'<STR_LIT:message>':   '<STR_LIT>'}<EOL><DEDENT>self.cd(str_pathTreeOrig)<EOL>os.chdir(str_pathDiskOrig)<EOL>return {'<STR_LIT:status>':   True,<EOL>'<STR_LIT>': True}<EOL><DEDENT>return {'<STR_LIT:status>':   False,<EOL>'<STR_LIT>': False,<EOL>'<STR_LIT:message>':  '<STR_LIT>'}<EOL>
Typically called by the explore()/recurse() methods and of form:

    f(pathInTree, **kwargs)

and returns dictionary of which one element is

    'status':   True|False

recursion continuation flag is returned:

    'continue': True|False

to signal calling parent whether or not to continue with tree
transversal.

Save the node specified by a path in the data tree to disk.

Given a "root" on the disk storage, create the path relative
to that root, and in that location, save the contents of the internal
node's d_data at that tree path location.

:param kwargs:
:return: