Files
Giuseppe Scrivano af24326133 pkg/machine: use fileutils.(Le|E)xists
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-04-19 09:52:14 +02:00

31 lines
852 B
Go

package stdpull
import (
"github.com/containers/podman/v5/pkg/machine/compression"
"github.com/containers/podman/v5/pkg/machine/define"
"github.com/containers/storage/pkg/fileutils"
"github.com/sirupsen/logrus"
)
type StdDiskPull struct {
finalPath *define.VMFile
inputPath *define.VMFile
}
func NewStdDiskPull(inputPath string, finalpath *define.VMFile) (*StdDiskPull, error) {
ip, err := define.NewMachineFile(inputPath, nil)
if err != nil {
return nil, err
}
return &StdDiskPull{inputPath: ip, finalPath: finalpath}, nil
}
func (s *StdDiskPull) Get() error {
if err := fileutils.Exists(s.inputPath.GetPath()); err != nil {
// could not find disk
return err
}
logrus.Debugf("decompressing (if needed) %s to %s", s.inputPath.GetPath(), s.finalPath.GetPath())
return compression.Decompress(s.inputPath, s.finalPath.GetPath())
}