Ejemplo n.º 1
0
func getDirStructure(fullName string, dirNode *fs.DirectoryNode, fs *fs.RootFileSystem) DirectoryStructure {
	ret := DirectoryStructure{}
	ret.FullPath = fullName
	ret.Files = make([]FileInfo, 0)
	ret.Folders = make([]DirectoryInfo, 0)
	for k, v := range dirNode.Files {
		f := FileInfo{}
		fNode, err := fs.RetrieveFileNode(v)
		if err == nil {
			f.Name = k
			f.Stats = fNode.Stats
			f.Type = fNode.Type
			ret.Files = append(ret.Files, f)
		}
	}

	for k, v := range dirNode.Folders {
		f := DirectoryInfo{}
		fNode, err := fs.RetrieveDirectoryNode(v)
		if err == nil {
			f.Name = k
			f.Stats = fNode.Stats
			ret.Folders = append(ret.Folders, f)
		}
	}

	return ret
}