func TryDeleteDirectoriesExcept()

in pkg/utils/utils_linux.go [63:82]


func TryDeleteDirectoriesExcept(parentDirectory string, exceptDirectoryName string) error {
	// Check if the directory exists
	directoryFDRef, err := os.Open(parentDirectory)
	if err != nil {
		return err
	}

	dirEntries, err := directoryFDRef.ReadDir(0)
	if err == nil && dirEntries != nil {
		for _, dirEntry := range dirEntries {
			entryName := dirEntry.Name()
			if dirEntry.IsDir() && entryName != exceptDirectoryName {
				fullDirectoryPath := filepath.Join(parentDirectory, entryName)
				os.RemoveAll(fullDirectoryPath)
			}
		}
		return nil
	}
	return err
}