spiegel_podman/cmd/podman/utils/utils.go
Sujil02 b94862171b And system prune feature for v2.
Adds podman system prune for v2.
Refactoring for code reuse from pods containers images and volume prune.
Adds and enables testcases to support the added feature.

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-05-01 13:57:16 -04:00

75 lines
1.6 KiB
Go

package utils
import (
"fmt"
"os"
"github.com/containers/libpod/pkg/domain/entities"
)
// IsDir returns true if the specified path refers to a directory.
func IsDir(path string) bool {
file, err := os.Stat(path)
if err != nil {
return false
}
return file.IsDir()
}
// FileExists returns true if path refers to an existing file.
func FileExists(path string) bool {
file, err := os.Stat(path)
// All errors return file == nil
if err != nil {
return false
}
return !file.IsDir()
}
func PrintPodPruneResults(podPruneReports []*entities.PodPruneReport) error {
var errs OutputErrors
for _, r := range podPruneReports {
if r.Err == nil {
fmt.Println(r.Id)
} else {
errs = append(errs, r.Err)
}
}
return errs.PrintErrors()
}
func PrintContainerPruneResults(containerPruneReport *entities.ContainerPruneReport) error {
var errs OutputErrors
for k := range containerPruneReport.ID {
fmt.Println(k)
}
for _, v := range containerPruneReport.Err {
errs = append(errs, v)
}
return errs.PrintErrors()
}
func PrintVolumePruneResults(volumePruneReport []*entities.VolumePruneReport) error {
var errs OutputErrors
for _, r := range volumePruneReport {
if r.Err == nil {
fmt.Println(r.Id)
} else {
errs = append(errs, r.Err)
}
}
return errs.PrintErrors()
}
func PrintImagePruneResults(imagePruneReport *entities.ImagePruneReport) error {
for _, i := range imagePruneReport.Report.Id {
fmt.Println(i)
}
for _, e := range imagePruneReport.Report.Err {
fmt.Fprint(os.Stderr, e.Error()+"\n")
}
if imagePruneReport.Size > 0 {
fmt.Fprintf(os.Stdout, "Size: %d\n", imagePruneReport.Size)
}
return nil
}