@staticmethod<EOL><INDENT>def tree_load(**kwargs):<DEDENT>
str_pathDiskRoot    = '<STR_LIT>'<EOL>b_loadJSON          = True<EOL>b_loadPickle        = False<EOL>for key, val in kwargs.items():<EOL><INDENT>if key == '<STR_LIT>':   str_pathDiskRoot    = val<EOL>if key == '<STR_LIT>':       b_loadJSON          = val<EOL>if key == '<STR_LIT>':     b_loadPickle        = val<EOL><DEDENT>l_dir   = []<EOL>l_file  = []<EOL>for str_root, l_directories, l_filenames in os.walk(str_pathDiskRoot):<EOL><INDENT>for str_dir in l_directories:<EOL><INDENT>l_dir.append(os.path.join(str_root, str_dir))<EOL><DEDENT>for str_file in l_filenames:<EOL><INDENT>l_file.append(os.path.join(str_root, str_file))<EOL><DEDENT><DEDENT>stree_dirs  = [d.replace(str_pathDiskRoot, '<STR_LIT>') for d in l_dir]<EOL>stree_files = [f.replace(str_pathDiskRoot, '<STR_LIT>') for f in l_file]<EOL>rtree       = C_stree()<EOL>for d in stree_dirs:<EOL><INDENT>rtree.mkdir(d)<EOL><DEDENT>for f in stree_files:<EOL><INDENT>dirname     = os.path.dirname(f)<EOL>filename    = os.path.basename(f)<EOL>if b_loadJSON:<EOL><INDENT>with open(str_pathDiskRoot + '<STR_LIT:/>' + f, '<STR_LIT:r>') as fp:<EOL><INDENT>contents = json.load(fp)<EOL>fp.close()<EOL><DEDENT><DEDENT>if b_loadPickle:<EOL><INDENT>with open(str_pathDiskRoot + '<STR_LIT:/>' + f, '<STR_LIT:rb>') as fp:<EOL><INDENT>contents = pickle.load(fp)<EOL>fp.close()<EOL><DEDENT><DEDENT>if rtree.cd(dirname)['<STR_LIT:status>']:<EOL><INDENT>rtree.touch(filename, contents)<EOL><DEDENT><DEDENT>return rtree<EOL>
Load a tree from disk.

Essentially, this reads a disk filetree into an snode tree.

:param kwargs:
:return: