|
|
|
@@ -8,12 +8,14 @@ package repo |
|
|
|
import ( |
|
|
|
"net/http" |
|
|
|
"strconv" |
|
|
|
"strings" |
|
|
|
|
|
|
|
"code.gitea.io/gitea/models" |
|
|
|
"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" |
|
|
|
) |
|
|
|
|
|
|
|
func GetModelArtsNotebook(ctx *context.APIContext) { |
|
|
|
@@ -157,15 +159,6 @@ func TrainJobGetLog(ctx *context.APIContext) { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
// task, err := models.GetCloudbrainByJobIDAndVersionName(jobID, versionName) |
|
|
|
// if err != nil { |
|
|
|
// log.Error("GetCloudbrainByJobIDAndVersionName(%s) failed:%v", jobID, err.Error()) |
|
|
|
// ctx.JSON(http.StatusInternalServerError, map[string]interface{}{ |
|
|
|
// "err_msg": "GetCloudbrainByJobIDAndVersionName failed", |
|
|
|
// }) |
|
|
|
// return |
|
|
|
// } |
|
|
|
|
|
|
|
resultLogFile, result, err := trainJobGetLogContent(jobID, versionName, baseLine, order, lines_int) |
|
|
|
if err != nil { |
|
|
|
log.Error("trainJobGetLog(%s) failed:%v", jobID, err.Error()) |
|
|
|
@@ -175,15 +168,6 @@ func TrainJobGetLog(ctx *context.APIContext) { |
|
|
|
|
|
|
|
ctx.Data["log_file_name"] = resultLogFile.LogFileList[0] |
|
|
|
|
|
|
|
// result, err := modelarts.GetTrainJobLog(jobID, strconv.FormatInt(task.VersionID, 10), baseLine, logFileName, order, modelarts.Lines) |
|
|
|
// if err != nil { |
|
|
|
// log.Error("GetTrainJobLog(%s) failed:%v", jobID, err.Error()) |
|
|
|
// ctx.JSON(http.StatusInternalServerError, map[string]interface{}{ |
|
|
|
// "err_msg": "GetTrainJobLog failed", |
|
|
|
// }) |
|
|
|
// return |
|
|
|
// } |
|
|
|
|
|
|
|
ctx.JSON(http.StatusOK, map[string]interface{}{ |
|
|
|
"JobID": jobID, |
|
|
|
"LogFileName": resultLogFile.LogFileList[0], |
|
|
|
@@ -316,3 +300,61 @@ func StopTrainJobVersion(ctx *context.APIContext) { |
|
|
|
"StatusOK": 0, |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
func ModelList(ctx *context.APIContext) { |
|
|
|
var ( |
|
|
|
err error |
|
|
|
) |
|
|
|
|
|
|
|
var jobID = ctx.Params(":jobid") |
|
|
|
var versionName = ctx.Query("version_name") |
|
|
|
parentDir := ctx.Query("parentDir") |
|
|
|
dirArray := strings.Split(parentDir, "/") |
|
|
|
task, err := models.GetCloudbrainByJobIDAndVersionName(jobID, versionName) |
|
|
|
if err != nil { |
|
|
|
log.Error("GetCloudbrainByJobID(%s) failed:%v", task.JobName, err.Error()) |
|
|
|
return |
|
|
|
} |
|
|
|
VersionOutputPath := "V" + strconv.Itoa(task.TotalVersionCount) |
|
|
|
models, err := storage.GetObsListObjectVersion(task.JobName, parentDir, VersionOutputPath) |
|
|
|
if err != nil { |
|
|
|
log.Info("get TrainJobListModel failed:", err) |
|
|
|
ctx.ServerError("GetObsListObject:", err) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
ctx.JSON(http.StatusOK, map[string]interface{}{ |
|
|
|
"JobID": jobID, |
|
|
|
"VersionName": versionName, |
|
|
|
"StatusOK": 0, |
|
|
|
"Path": dirArray, |
|
|
|
"Dirs": models, |
|
|
|
"task": task, |
|
|
|
"PageIsCloudBrain": true, |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
func ModelDownload(ctx *context.APIContext) { |
|
|
|
var ( |
|
|
|
err error |
|
|
|
) |
|
|
|
|
|
|
|
// var jobID = ctx.Params(":jobid") |
|
|
|
// var versionName = ctx.Query("version_name") |
|
|
|
// parentDir := ctx.Query("parentDir") |
|
|
|
// task, err := models.GetCloudbrainByJobIDAndVersionName(jobID, versionName) |
|
|
|
// if err != nil { |
|
|
|
// log.Error("GetCloudbrainByJobID(%s) failed:%v", task.JobName, err.Error()) |
|
|
|
// return |
|
|
|
// } |
|
|
|
parentDir := ctx.Query("parentDir") |
|
|
|
fileName := ctx.Query("fileName") |
|
|
|
jobName := ctx.Query("jobName") |
|
|
|
url, err := storage.GetObsCreateSignedUrl(jobName, parentDir, fileName) |
|
|
|
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) |
|
|
|
} |