Browse Source

Merge pull request '解决云脑2模型多级目录时的下载问题' (#733) from download-model-error into V20211115

Reviewed-on: https://git.openi.org.cn/OpenI/aiforge/pulls/733
Reviewed-by: ychao_1983 <ychao_1983@sina.com>
tags/v1.21.12.1
ychao_1983 4 years ago
parent
commit
07a59cc927
1 changed files with 17 additions and 2 deletions
  1. +17
    -2
      modules/storage/obs.go

+ 17
- 2
modules/storage/obs.go View File

@@ -178,6 +178,7 @@ func GetObsListObject(jobName, parentDir string) ([]FileInfo, error) {
input := &obs.ListObjectsInput{}
input.Bucket = setting.Bucket
input.Prefix = strings.TrimPrefix(path.Join(setting.TrainJobModelPath, jobName, setting.OutPutPath, parentDir), "/")
strPrefix := strings.Split(input.Prefix, "/")
output, err := ObsCli.ListObjects(input)
fileInfos := make([]FileInfo, 0)
if err == nil {
@@ -186,15 +187,29 @@ func GetObsListObject(jobName, parentDir string) ([]FileInfo, error) {
var isDir bool
var fileName,nextParentDir string
if strings.HasSuffix(val.Key, "/") {
//dirs in next level dir
if len(str1) - len(strPrefix) > 2 {
continue
}
fileName = str1[len(str1)-2]
isDir = true
nextParentDir = fileName
if fileName == parentDir || (fileName + "/") == setting.OutPutPath {
if parentDir == "" {
nextParentDir = fileName
} else {
nextParentDir = parentDir + "/" + fileName
}

if fileName == strPrefix[len(strPrefix)-1] || (fileName + "/") == setting.OutPutPath {
continue
}
} else {
//files in next level dir
if len(str1) - len(strPrefix) > 1 {
continue
}
fileName = str1[len(str1)-1]
isDir = false
nextParentDir = parentDir
}

fileInfo := FileInfo{


Loading…
Cancel
Save