mirror of
https://github.com/containers/podman.git
synced 2025-08-06 19:44:14 +08:00
Remove duplication and make consistent usage of the progress bar
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
This commit is contained in:
@ -2,44 +2,20 @@ package compression
|
||||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
|
||||
crcOs "github.com/crc-org/crc/v2/pkg/os"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type uncompressedDecompressor struct {
|
||||
compressedFilePath string
|
||||
compressedFile *os.File
|
||||
genericDecompressor
|
||||
}
|
||||
|
||||
func newUncompressedDecompressor(compressedFilePath string) decompressor {
|
||||
return &uncompressedDecompressor{
|
||||
compressedFilePath: compressedFilePath,
|
||||
}
|
||||
func newUncompressedDecompressor(compressedFilePath string) (*uncompressedDecompressor, error) {
|
||||
d, err := newGenericDecompressor(compressedFilePath)
|
||||
return &uncompressedDecompressor{*d}, err
|
||||
}
|
||||
|
||||
func (d *uncompressedDecompressor) srcFilePath() string {
|
||||
return d.compressedFilePath
|
||||
}
|
||||
|
||||
func (d *uncompressedDecompressor) reader() (io.Reader, error) {
|
||||
srcFile, err := os.Open(d.compressedFilePath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
d.compressedFile = srcFile
|
||||
|
||||
return srcFile, nil
|
||||
}
|
||||
|
||||
func (*uncompressedDecompressor) copy(w *os.File, r io.Reader) error {
|
||||
func (*uncompressedDecompressor) decompress(w io.WriteSeeker, r io.Reader) error {
|
||||
_, err := crcOs.CopySparse(w, r)
|
||||
return err
|
||||
}
|
||||
|
||||
func (d *uncompressedDecompressor) close() {
|
||||
if err := d.compressedFile.Close(); err != nil {
|
||||
logrus.Errorf("Unable to close gz file: %q", err)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user