From c0c64b5c04f77f39cdbcd58a6a05b4d8785b0a76 Mon Sep 17 00:00:00 2001 From: liuzx Date: Thu, 25 Nov 2021 11:29:46 +0800 Subject: [PATCH 1/3] fix bug --- routers/repo/modelarts.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index 5e5b0a3e0..3236afdcd 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -478,7 +478,6 @@ func TrainJobNewVersion(ctx *context.Context) { func trainJobNewVersionDataPrepare(ctx *context.Context) error { ctx.Data["PageIsCloudBrain"] = true var jobID = ctx.Params(":jobid") - // var versionName = ctx.Params(":version-name") var versionName = ctx.Query("version_name") // canNewJob, err := canUserCreateTrainJobVersion(ctx, jobID, versionName) // if err != nil { @@ -548,7 +547,7 @@ func trainJobNewVersionDataPrepare(ctx *context.Context) error { return err } - ctx.Data["branch"] = Branches + ctx.Data["branches"] = Branches ctx.Data["branch_name"] = task.BranchName ctx.Data["description"] = task.Description ctx.Data["boot_file"] = task.BootFile From c4290e2f4d7417e034764cc634bfda9d24ef9f7e Mon Sep 17 00:00:00 2001 From: liuzx Date: Thu, 25 Nov 2021 11:39:44 +0800 Subject: [PATCH 2/3] fix bug --- routers/repo/modelarts.go | 45 +++++++-------------------------------------- 1 file changed, 7 insertions(+), 38 deletions(-) diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index 3236afdcd..a820c56fa 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -1387,12 +1387,9 @@ func ModelDownload(ctx *context.Context) { var jobID = ctx.Params(":jobid") versionName := ctx.Query("version_name") - // versionName := "V0001" parentDir := ctx.Query("parent_dir") fileName := ctx.Query("file_name") log.Info("DownloadSingleModelFile start.") - // id := ctx.Params(":ID") - // path := Model_prefix + models.AttachmentRelativePath(id) + "/" + parentDir + fileName task, err := models.GetCloudbrainByJobIDAndVersionName(jobID, versionName) if err != nil { log.Error("GetCloudbrainByJobID(%s) failed:%v", task.JobName, err.Error()) @@ -1401,40 +1398,12 @@ func ModelDownload(ctx *context.Context) { path := strings.TrimPrefix(path.Join(setting.TrainJobModelPath, task.JobName, setting.OutPutPath, versionName, parentDir, fileName), "/") log.Info("Download path is:%s", path) - if setting.PROXYURL == "" { - body, err := storage.ObsDownloadAFile(setting.Bucket, path) - if err != nil { - log.Info("download error.") - } else { - //count++ - // models.ModifyModelDownloadCount(id) - defer body.Close() - ctx.Resp.Header().Set("Content-Disposition", "attachment; filename="+fileName) - ctx.Resp.Header().Set("Content-Type", "application/octet-stream") - p := make([]byte, 1024) - var readErr error - var readCount int - // 读取对象内容 - for { - readCount, readErr = body.Read(p) - if readCount > 0 { - ctx.Resp.Write(p[:readCount]) - //fmt.Printf("%s", p[:readCount]) - } - if readErr != nil { - break - } - } - } - } else { - url, err := storage.GetObsCreateSignedUrlByBucketAndKey(setting.Bucket, path) - if err != nil { - log.Error("GetObsCreateSignedUrl failed: %v", err.Error(), ctx.Data["msgID"]) - ctx.ServerError("GetObsCreateSignedUrl", err) - return - } - //count++ - // models.ModifyModelDownloadCount(id) - http.Redirect(ctx.Resp, ctx.Req.Request, url, http.StatusMovedPermanently) + + url, err := storage.GetObsCreateSignedUrlByBucketAndKey(setting.Bucket, path) + if err != nil { + log.Error("GetObsCreateSignedUrl failed: %v", err.Error(), ctx.Data["msgID"]) + ctx.ServerError("GetObsCreateSignedUrl", err) + return } + http.Redirect(ctx.Resp, ctx.Req.Request, url, http.StatusMovedPermanently) } From bdb3907283b9227a9e99067a7e7aea7f5de3a87b Mon Sep 17 00:00:00 2001 From: liuzx Date: Thu, 25 Nov 2021 11:47:16 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E7=9A=84=E5=86=97=E4=BD=99=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/storage/obs.go | 17 ----------- routers/api/v1/api.go | 1 - routers/api/v1/repo/modelarts.go | 61 ---------------------------------------- 3 files changed, 79 deletions(-) diff --git a/modules/storage/obs.go b/modules/storage/obs.go index 540463e80..a5c463bb0 100755 --- a/modules/storage/obs.go +++ b/modules/storage/obs.go @@ -337,20 +337,3 @@ func ObsCreateObject(path string) error { return nil } - -func ObsDownloadAFile(bucket string, key string) (io.ReadCloser, error) { - input := &obs.GetObjectInput{} - input.Bucket = bucket - input.Key = key - output, err := ObsCli.GetObject(input) - if err == nil { - log.Info("StorageClass:%s, ETag:%s, ContentType:%s, ContentLength:%d, LastModified:%s\n", - output.StorageClass, output.ETag, output.ContentType, output.ContentLength, output.LastModified) - return output.Body, nil - } else if obsError, ok := err.(obs.ObsError); ok { - log.Error("Code:%s, Message:%s", obsError.Code, obsError.Message) - return nil, obsError - } else { - return nil, err - } -} diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index 93afe2a31..b7ef8d48f 100755 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -880,7 +880,6 @@ func RegisterRoutes(m *macaron.Macaron) { m.Post("/del_version", repo.DelTrainJobVersion) m.Post("/stop_version", repo.StopTrainJobVersion) m.Get("/model_list", repo.ModelList) - m.Get("/model_download", repo.ModelDownload) }) }) }, reqRepoReader(models.UnitTypeCloudBrain)) diff --git a/routers/api/v1/repo/modelarts.go b/routers/api/v1/repo/modelarts.go index 1e6b17ad8..b4d5fc010 100755 --- a/routers/api/v1/repo/modelarts.go +++ b/routers/api/v1/repo/modelarts.go @@ -7,7 +7,6 @@ package repo import ( "net/http" - "path" "strconv" "strings" @@ -15,7 +14,6 @@ import ( "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/modelarts" - "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/storage" ) @@ -321,62 +319,3 @@ func ModelList(ctx *context.APIContext) { "PageIsCloudBrain": true, }) } - -func ModelDownload(ctx *context.Context) { - var ( - err error - ) - - var jobID = ctx.Params(":jobid") - versionName := ctx.Query("version_name") - // versionName := "V0001" - parentDir := ctx.Query("parent_dir") - fileName := ctx.Query("file_name") - log.Info("DownloadSingleModelFile start.") - // id := ctx.Params(":ID") - // path := Model_prefix + models.AttachmentRelativePath(id) + "/" + parentDir + fileName - task, err := models.GetCloudbrainByJobIDAndVersionName(jobID, versionName) - if err != nil { - log.Error("GetCloudbrainByJobID(%s) failed:%v", task.JobName, err.Error()) - return - } - - path := strings.TrimPrefix(path.Join(setting.TrainJobModelPath, task.JobName, setting.OutPutPath, versionName, parentDir, fileName), "/") - log.Info("Download path is:%s", path) - if setting.PROXYURL == "" { - body, err := storage.ObsDownloadAFile(setting.Bucket, path) - if err != nil { - log.Info("download error.") - } else { - //count++ - // models.ModifyModelDownloadCount(id) - defer body.Close() - ctx.Resp.Header().Set("Content-Disposition", "attachment; filename="+fileName) - ctx.Resp.Header().Set("Content-Type", "application/octet-stream") - p := make([]byte, 1024) - var readErr error - var readCount int - // 读取对象内容 - for { - readCount, readErr = body.Read(p) - if readCount > 0 { - ctx.Resp.Write(p[:readCount]) - //fmt.Printf("%s", p[:readCount]) - } - if readErr != nil { - break - } - } - } - } else { - url, err := storage.GetObsCreateSignedUrlByBucketAndKey(setting.Bucket, path) - if err != nil { - log.Error("GetObsCreateSignedUrl failed: %v", err.Error(), ctx.Data["msgID"]) - ctx.ServerError("GetObsCreateSignedUrl", err) - return - } - //count++ - // models.ModifyModelDownloadCount(id) - http.Redirect(ctx.Resp, ctx.Req.Request, url, http.StatusMovedPermanently) - } -}