|
|
@@ -445,20 +445,27 @@ func buildUnzipDatasetCommand(datasets []entity.ContainerData, datasetPath, comp |
|
|
|
} |
|
|
|
builder.Next(entity.NewCommand("cd", datasetPath)). |
|
|
|
Next(entity.NewCommand("echo", "'start to unzip datasets'")) |
|
|
|
|
|
|
|
fileDatasets := make([]entity.ContainerData, 0) |
|
|
|
for _, dataset := range datasets { |
|
|
|
if !dataset.IsDir { |
|
|
|
fileDatasets = append(fileDatasets, dataset) |
|
|
|
} |
|
|
|
} |
|
|
|
//单数据集 |
|
|
|
if len(datasets) == 1 { |
|
|
|
if strings.HasSuffix(datasets[0].Name, ".tar.gz") { |
|
|
|
builder.Next(entity.NewCommand("tar", "--strip-components=1", "-zxvf", "'"+datasets[0].Name+"'")) |
|
|
|
if len(fileDatasets) == 1 { |
|
|
|
if strings.HasSuffix(fileDatasets[0].Name, ".tar.gz") { |
|
|
|
builder.Next(entity.NewCommand("tar", "--strip-components=1", "-zxvf", "'"+fileDatasets[0].Name+"'")) |
|
|
|
} else { |
|
|
|
builder.Next(entity.NewCommand("unzip", "-q", "'"+datasets[0].Name+"'")) |
|
|
|
builder.Next(entity.NewCommand("unzip", "-q", "'"+fileDatasets[0].Name+"'")) |
|
|
|
} |
|
|
|
builder.Next(entity.NewCommand("ls", "-l")) |
|
|
|
builder.Next(entity.NewCommand("echo", "'unzip datasets finished'")) |
|
|
|
return builder |
|
|
|
} |
|
|
|
//多数据集 |
|
|
|
for i := 0; i < len(datasets); i++ { |
|
|
|
name := datasets[i].Name |
|
|
|
for i := 0; i < len(fileDatasets); i++ { |
|
|
|
name := fileDatasets[i].Name |
|
|
|
if strings.HasSuffix(name, ".tar.gz") { |
|
|
|
builder.Next(entity.NewCommand("tar", "-zxvf", name)) |
|
|
|
} else { |
|
|
|