MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / loadTreeWithAllFile

Function loadTreeWithAllFile

agent/app/service/device_clean.go:858–906  ·  view source on GitHub ↗
(isCheck bool, originalPath, treeType, pathItem string, fileOp fileUtils.FileOp)

Source from the content-addressed store, hash-verified

856}
857
858func loadTreeWithAllFile(isCheck bool, originalPath, treeType, pathItem string, fileOp fileUtils.FileOp) []dto.CleanTree {
859 var lists []dto.CleanTree
860
861 files, err := os.ReadDir(pathItem)
862 if err != nil {
863 return lists
864 }
865 for _, file := range files {
866 if treeType == "upload" && ((file.Name() == "theme" || file.Name() == "skills-hub") && file.IsDir()) {
867 continue
868 }
869 if treeType == "system_log" && (file.Name() == "1Panel-Core.log" || file.Name() == "1Panel.log" || file.IsDir()) {
870 continue
871 }
872 if (treeType == "upload" || treeType == "download") && file.IsDir() && (file.Name() == "app" || file.Name() == "database" || file.Name() == "website" || file.Name() == "directory") {
873 continue
874 }
875 size := uint64(0)
876 name := strings.TrimPrefix(path.Join(pathItem, file.Name()), originalPath+"/")
877 if file.IsDir() {
878 sizeItem, err := fileOp.GetDirSize(path.Join(pathItem, file.Name()))
879 if err != nil {
880 continue
881 }
882 size = uint64(sizeItem)
883 } else {
884 fileInfo, err := file.Info()
885 if err != nil {
886 continue
887 }
888 size = uint64(fileInfo.Size())
889 }
890 item := dto.CleanTree{
891 ID: uuid.NewString(),
892 Label: file.Name(),
893 Type: treeType,
894 Size: size,
895 Name: name,
896 IsCheck: isCheck,
897 IsRecommend: isCheck,
898 CanDelete: true,
899 }
900 if file.IsDir() {
901 item.Children = loadTreeWithAllFile(isCheck, originalPath, treeType, path.Join(pathItem, file.Name()), fileOp)
902 }
903 lists = append(lists, item)
904 }
905 return lists
906}
907
908func dropFileOrDir(itemPath string) {
909 if err := os.RemoveAll(itemPath); err != nil {

Callers 4

loadUploadTreeFunction · 0.85
loadDownloadTreeFunction · 0.85
loadLogTreeFunction · 0.85
loadTreeWithCheckFunction · 0.85

Calls 5

ReadDirMethod · 0.80
IsDirMethod · 0.80
GetDirSizeMethod · 0.80
NameMethod · 0.65
SizeMethod · 0.65

Tested by

no test coverage detected