github.com/containers/podman/v4@v4.9.4/pkg/machine/compression/config.go (about) 1 package compression 2 3 import "strings" 4 5 type ImageCompression int64 6 7 const ( 8 Xz ImageCompression = iota 9 Zip 10 Gz 11 Bz2 12 ) 13 14 func KindFromFile(path string) ImageCompression { 15 switch { 16 case strings.HasSuffix(path, Bz2.String()): 17 return Bz2 18 case strings.HasSuffix(path, Gz.String()): 19 return Gz 20 case strings.HasSuffix(path, Zip.String()): 21 return Zip 22 } 23 return Xz 24 } 25 26 func (c ImageCompression) String() string { 27 switch c { 28 case Gz: 29 return "gz" 30 case Zip: 31 return "zip" 32 case Bz2: 33 return "bz2" 34 } 35 return "xz" 36 }