MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / NewExtractShellArchiver

Function NewExtractShellArchiver

agent/utils/files/archiver.go:47–77  ·  view source on GitHub ↗
(compressType CompressType)

Source from the content-addressed store, hash-verified

45}
46
47func NewExtractShellArchiver(compressType CompressType) (ShellArchiver, error) {
48 switch compressType {
49 case Tar:
50 if err := checkCmdAvailability("tar"); err != nil {
51 return nil, err
52 }
53 return NewTarArchiver(compressType), nil
54 case TarGz:
55 if err := checkCmdAvailability("tar"); err != nil {
56 return nil, err
57 }
58 return NewTarGzArchiver(), nil
59 case Zip:
60 if err := checkCmdAvailability("unzip"); err != nil {
61 return nil, err
62 }
63 return NewZipArchiver(), nil
64 case Rar:
65 if err := checkCmdAvailability("unrar"); err != nil {
66 return nil, err
67 }
68 return NewRarArchiver(), nil
69 case X7z:
70 if err := checkCmdAvailability("7z"); err != nil {
71 return nil, err
72 }
73 return NewX7zArchiver(), nil
74 default:
75 return nil, buserr.New("unsupported decompress type")
76 }
77}
78
79func checkCmdAvailability(cmdStr string) error {
80 if cmd.Which(cmdStr) {

Callers 1

DecompressMethod · 0.85

Calls 6

checkCmdAvailabilityFunction · 0.85
NewTarArchiverFunction · 0.85
NewTarGzArchiverFunction · 0.85
NewZipArchiverFunction · 0.85
NewRarArchiverFunction · 0.85
NewX7zArchiverFunction · 0.85

Tested by

no test coverage detected