From 9998aeb0f9607f8ff20e0f5e590d403bec34cc1b Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 09:26:45 +0800 Subject: [PATCH 001/169] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A3=81=E7=9B=98=E6=8C=82=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/cloudbrain.go | 10 ++++++---- modules/modelarts/modelarts.go | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index cdd9698fe..cb2bd2837 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1045,6 +1045,7 @@ type CreateUserImageTrainJobParams struct { Description string `json:"job_desc"` Config UserImageConfig `json:"config"` WorkspaceID string `json:"workspace_id"` + Volume Volumes `json:"volumes"` } type UserImageConfig struct { @@ -1063,10 +1064,11 @@ type UserImageConfig struct { } type CreateTrainJobParams struct { - JobName string `json:"job_name"` - Description string `json:"job_desc"` - Config Config `json:"config"` - WorkspaceID string `json:"workspace_id"` + JobName string `json:"job_name"` + Description string `json:"job_desc"` + Config Config `json:"config"` + WorkspaceID string `json:"workspace_id"` + Volume Volumes `json:"volumes"` } type Config struct { diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index dd502dfd0..06d0836e2 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -66,6 +66,9 @@ const ( SortByCreateTime = "create_time" ConfigTypeCustom = "custom" TotalVersionCount = 1 + + VolumeSourcePath = "192.168.0.30:/" + VolumeDestPath = "/home/ma-user/sfs" ) var ( @@ -374,6 +377,13 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str UserImageUrl: req.UserImageUrl, UserCommand: req.UserCommand, }, + Volume: models.Volumes{ + Nfs: models.Nfs{ + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, + }, + }, }) } else { jobResult, createErr = createTrainJob(models.CreateTrainJobParams{ @@ -394,6 +404,13 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str }, Parameter: req.Parameters, }, + Volume: models.Volumes{ + Nfs: models.Nfs{ + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, + }, + }, }) } if createErr != nil { From 45c63b85d59b975819d385ea490f103abd60cb30 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 10:06:35 +0800 Subject: [PATCH 002/169] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A3=81=E7=9B=98=E6=8C=82=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/modelarts/modelarts.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index 06d0836e2..57c92e990 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -68,7 +68,7 @@ const ( TotalVersionCount = 1 VolumeSourcePath = "192.168.0.30:/" - VolumeDestPath = "/home/ma-user/sfs" + VolumeDestPath = "/cache/sfs/" ) var ( From 46658293e5e673abb5e5a3ca16a679d4c0ddb7b8 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 10:12:46 +0800 Subject: [PATCH 003/169] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A3=81=E7=9B=98=E6=8C=82=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/modelarts/modelarts.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index 57c92e990..cd2989e80 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -68,7 +68,7 @@ const ( TotalVersionCount = 1 VolumeSourcePath = "192.168.0.30:/" - VolumeDestPath = "/cache/sfs/" + VolumeDestPath = "/cache/" ) var ( From d4f4776ca333a70d3ad38e8323f0e823bdee596e Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 10:23:41 +0800 Subject: [PATCH 004/169] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A3=81=E7=9B=98=E6=8C=82=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/modelarts/modelarts.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index cd2989e80..41d9c57d2 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -68,7 +68,7 @@ const ( TotalVersionCount = 1 VolumeSourcePath = "192.168.0.30:/" - VolumeDestPath = "/cache/" + VolumeDestPath = "/cache/data/" ) var ( From dac33a75a81062b86a024502f624039954fa0a27 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 10:36:02 +0800 Subject: [PATCH 005/169] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A3=81=E7=9B=98=E6=8C=82=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/cloudbrain.go | 16 ++++++++-------- modules/modelarts/modelarts.go | 20 ++++++++------------ 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index cb2bd2837..a517a7edf 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1045,7 +1045,7 @@ type CreateUserImageTrainJobParams struct { Description string `json:"job_desc"` Config UserImageConfig `json:"config"` WorkspaceID string `json:"workspace_id"` - Volume Volumes `json:"volumes"` + DataMount Nfs `json:"volumes"` } type UserImageConfig struct { @@ -1064,11 +1064,11 @@ type UserImageConfig struct { } type CreateTrainJobParams struct { - JobName string `json:"job_name"` - Description string `json:"job_desc"` - Config Config `json:"config"` - WorkspaceID string `json:"workspace_id"` - Volume Volumes `json:"volumes"` + JobName string `json:"job_name"` + Description string `json:"job_desc"` + Config Config `json:"config"` + WorkspaceID string `json:"workspace_id"` + DataMount Nfs `json:"volumes"` } type Config struct { @@ -1215,8 +1215,8 @@ type Volumes struct { type Nfs struct { ID string `json:"id"` - SourcePath string `json:"src_path"` - DestPath string `json:"dest_path"` + SourcePath string `json:"nfs_server_path"` + DestPath string `json:"local_path"` ReadOnly bool `json:"read_only"` } diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index 41d9c57d2..39fdb6afc 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -377,12 +377,10 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str UserImageUrl: req.UserImageUrl, UserCommand: req.UserCommand, }, - Volume: models.Volumes{ - Nfs: models.Nfs{ - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, - ReadOnly: false, - }, + DataMount: models.Nfs{ + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, }, }) } else { @@ -404,12 +402,10 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str }, Parameter: req.Parameters, }, - Volume: models.Volumes{ - Nfs: models.Nfs{ - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, - ReadOnly: false, - }, + DataMount: models.Nfs{ + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, }, }) } From 7af655bea15b0937c42fb1a18ab3322c70209f68 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 10:43:37 +0800 Subject: [PATCH 006/169] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A3=81=E7=9B=98=E6=8C=82=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/cloudbrain.go | 10 +++++----- modules/modelarts/modelarts.go | 24 ++++++++++++++---------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index a517a7edf..cdd04cc01 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1045,7 +1045,6 @@ type CreateUserImageTrainJobParams struct { Description string `json:"job_desc"` Config UserImageConfig `json:"config"` WorkspaceID string `json:"workspace_id"` - DataMount Nfs `json:"volumes"` } type UserImageConfig struct { @@ -1061,6 +1060,7 @@ type UserImageConfig struct { CreateVersion bool `json:"create_version"` Flavor Flavor `json:"flavor"` PoolID string `json:"pool_id"` + DataMount Volumes `json:"volumes"` } type CreateTrainJobParams struct { @@ -1068,7 +1068,6 @@ type CreateTrainJobParams struct { Description string `json:"job_desc"` Config Config `json:"config"` WorkspaceID string `json:"workspace_id"` - DataMount Nfs `json:"volumes"` } type Config struct { @@ -1082,9 +1081,10 @@ type Config struct { LogUrl string `json:"log_url"` //UserImageUrl string `json:"user_image_url"` //UserCommand string `json:"user_command"` - CreateVersion bool `json:"create_version"` - Flavor Flavor `json:"flavor"` - PoolID string `json:"pool_id"` + CreateVersion bool `json:"create_version"` + Flavor Flavor `json:"flavor"` + PoolID string `json:"pool_id"` + DataMount Volumes `json:"volumes"` } type CreateInferenceJobParams struct { JobName string `json:"job_name"` diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index 39fdb6afc..a223f8708 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -376,11 +376,13 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str Parameter: req.Parameters, UserImageUrl: req.UserImageUrl, UserCommand: req.UserCommand, - }, - DataMount: models.Nfs{ - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, - ReadOnly: false, + DataMount: models.Volumes{ + Nfs: models.Nfs{ + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, + }, + }, }, }) } else { @@ -401,11 +403,13 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str Code: req.Spec.SourceSpecId, }, Parameter: req.Parameters, - }, - DataMount: models.Nfs{ - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, - ReadOnly: false, + DataMount: models.Volumes{ + Nfs: models.Nfs{ + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, + }, + }, }, }) } From 6d11f68505abc7e63b30db397c519a47d0de1191 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 14:12:11 +0800 Subject: [PATCH 007/169] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A3=81=E7=9B=98=E6=8C=82=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/cloudbrain.go | 12 +++++++----- modules/modelarts/modelarts.go | 26 +++++++++++++++----------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index cdd04cc01..b3bfa1843 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1060,7 +1060,7 @@ type UserImageConfig struct { CreateVersion bool `json:"create_version"` Flavor Flavor `json:"flavor"` PoolID string `json:"pool_id"` - DataMount Volumes `json:"volumes"` + Volumes Volumes `json:"volumes"` } type CreateTrainJobParams struct { @@ -1084,14 +1084,16 @@ type Config struct { CreateVersion bool `json:"create_version"` Flavor Flavor `json:"flavor"` PoolID string `json:"pool_id"` - DataMount Volumes `json:"volumes"` + Volumes Volumes `json:"volumes"` } + type CreateInferenceJobParams struct { JobName string `json:"job_name"` Description string `json:"job_desc"` InfConfig InfConfig `json:"config"` WorkspaceID string `json:"workspace_id"` } + type CreateInfUserImageParams struct { JobName string `json:"job_name"` Description string `json:"job_desc"` @@ -1209,14 +1211,14 @@ type DataSource struct { } type Volumes struct { - Nfs Nfs `json:"nfs"` + Nfs []Nfs `json:"nfs"` HostPath HostPath `json:"host_path"` } type Nfs struct { ID string `json:"id"` - SourcePath string `json:"nfs_server_path"` - DestPath string `json:"local_path"` + SourcePath string `json:"src_path"` + DestPath string `json:"dest_path"` ReadOnly bool `json:"read_only"` } diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index a223f8708..e2ad865bf 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -68,7 +68,7 @@ const ( TotalVersionCount = 1 VolumeSourcePath = "192.168.0.30:/" - VolumeDestPath = "/cache/data/" + VolumeDestPath = "/cache/sfs/" ) var ( @@ -376,11 +376,13 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str Parameter: req.Parameters, UserImageUrl: req.UserImageUrl, UserCommand: req.UserCommand, - DataMount: models.Volumes{ - Nfs: models.Nfs{ - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, - ReadOnly: false, + Volumes: models.Volumes{ + Nfs: []models.Nfs{ + { + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, + }, }, }, }, @@ -403,11 +405,13 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str Code: req.Spec.SourceSpecId, }, Parameter: req.Parameters, - DataMount: models.Volumes{ - Nfs: models.Nfs{ - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, - ReadOnly: false, + Volumes: models.Volumes{ + Nfs: []models.Nfs{ + { + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, + }, }, }, }, From e714383f13aa0e184a06da1f3c2fae663d5e2be3 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 14:19:37 +0800 Subject: [PATCH 008/169] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A3=81=E7=9B=98=E6=8C=82=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/cloudbrain.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index b3bfa1843..28cf3cf89 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1217,8 +1217,8 @@ type Volumes struct { type Nfs struct { ID string `json:"id"` - SourcePath string `json:"src_path"` - DestPath string `json:"dest_path"` + SourcePath string `json:"nfs_server_path"` + DestPath string `json:"local_path"` ReadOnly bool `json:"read_only"` } From 814e3c50594133c190e795e386f9d46c385b371e Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 14:39:55 +0800 Subject: [PATCH 009/169] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A3=81=E7=9B=98=E6=8C=82=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/cloudbrain.go | 6 +++--- modules/modelarts/modelarts.go | 20 ++++++++------------ 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index 28cf3cf89..ee5ec6162 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1211,14 +1211,14 @@ type DataSource struct { } type Volumes struct { - Nfs []Nfs `json:"nfs"` + Nfs Nfs `json:"nfs"` HostPath HostPath `json:"host_path"` } type Nfs struct { ID string `json:"id"` - SourcePath string `json:"nfs_server_path"` - DestPath string `json:"local_path"` + SourcePath string `json:"src_path"` + DestPath string `json:"dest_path"` ReadOnly bool `json:"read_only"` } diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index e2ad865bf..dc5ba5b65 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -377,12 +377,10 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str UserImageUrl: req.UserImageUrl, UserCommand: req.UserCommand, Volumes: models.Volumes{ - Nfs: []models.Nfs{ - { - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, - ReadOnly: false, - }, + Nfs: models.Nfs{ + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, }, }, }, @@ -406,12 +404,10 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str }, Parameter: req.Parameters, Volumes: models.Volumes{ - Nfs: []models.Nfs{ - { - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, - ReadOnly: false, - }, + Nfs: models.Nfs{ + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, }, }, }, From a71ba7f2c9eac6a9ff8504e21e079aef7af5cd19 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 15:06:46 +0800 Subject: [PATCH 010/169] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A3=81=E7=9B=98=E6=8C=82=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/modelarts/resty.go | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/modelarts/resty.go b/modules/modelarts/resty.go index c38300606..ca7f40843 100755 --- a/modules/modelarts/resty.go +++ b/modules/modelarts/resty.go @@ -492,6 +492,7 @@ sendjob: SetResult(&result). Post(HOST + "/v1/" + setting.ProjectID + urlTrainJob) + log.Info("%s", createJobParams) if err != nil { return nil, fmt.Errorf("resty create train-job: %s", err) } From 0c54532060bfbbaab5264b1e5c2724f9a62a1c08 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 15:30:19 +0800 Subject: [PATCH 011/169] add --- modules/modelarts/resty.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/modelarts/resty.go b/modules/modelarts/resty.go index ca7f40843..7af6b42e8 100755 --- a/modules/modelarts/resty.go +++ b/modules/modelarts/resty.go @@ -492,7 +492,8 @@ sendjob: SetResult(&result). Post(HOST + "/v1/" + setting.ProjectID + urlTrainJob) - log.Info("%s", createJobParams) + log.Info("jochen10518", "%s", createJobParams) + if err != nil { return nil, fmt.Errorf("resty create train-job: %s", err) } From 4d76517dfaa0f986b1c905d1a2d3e1c5065dbc05 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 15:38:51 +0800 Subject: [PATCH 012/169] add --- modules/modelarts/resty.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/modelarts/resty.go b/modules/modelarts/resty.go index 7af6b42e8..a7d4910d8 100755 --- a/modules/modelarts/resty.go +++ b/modules/modelarts/resty.go @@ -492,8 +492,6 @@ sendjob: SetResult(&result). Post(HOST + "/v1/" + setting.ProjectID + urlTrainJob) - log.Info("jochen10518", "%s", createJobParams) - if err != nil { return nil, fmt.Errorf("resty create train-job: %s", err) } @@ -554,6 +552,7 @@ sendjob: SetResult(&result). Post(HOST + "/v1/" + setting.ProjectID + urlTrainJob) + log.Info("abcd", createJobParams) if err != nil { return nil, fmt.Errorf("resty create train-job: %s", err) } From fe24eafdcb82c2d8736ebdea8930ed926cc995fa Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 15:47:36 +0800 Subject: [PATCH 013/169] add --- modules/modelarts/resty.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/modelarts/resty.go b/modules/modelarts/resty.go index a7d4910d8..68a9c0797 100755 --- a/modules/modelarts/resty.go +++ b/modules/modelarts/resty.go @@ -483,7 +483,8 @@ func createTrainJobUserImage(createJobParams models.CreateUserImageTrainJobParam var result models.CreateTrainJobResult retry := 0 - + log.Info("abcd", createJobParams) + fmt.Print("abcd", createJobParams) sendjob: res, err := client.R(). SetHeader("Content-Type", "application/json"). @@ -544,6 +545,9 @@ func createTrainJob(createJobParams models.CreateTrainJobParams) (*models.Create retry := 0 + log.Info("abcd", createJobParams) + fmt.Print("abcd", createJobParams) + sendjob: res, err := client.R(). SetHeader("Content-Type", "application/json"). @@ -552,7 +556,6 @@ sendjob: SetResult(&result). Post(HOST + "/v1/" + setting.ProjectID + urlTrainJob) - log.Info("abcd", createJobParams) if err != nil { return nil, fmt.Errorf("resty create train-job: %s", err) } From 1361b3915fb1aa83d857fbc0a5b4d23448cb4a3e Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Mon, 28 Nov 2022 16:18:32 +0800 Subject: [PATCH 014/169] #3188 update --- models/list_options.go | 20 ++++++ models/repo.go | 13 ++-- models/repo_list.go | 54 ++++++++------ models/repo_statistic.go | 20 ++++++ models/repo_tag.go | 31 ++++++++ modules/setting/setting.go | 8 +++ routers/admin/resources.go | 34 +++++++++ routers/home.go | 60 +++++++++++++++- routers/private/internal.go | 1 + routers/repo/cloudbrain_statistic.go | 6 ++ routers/repo/repo_statistic.go | 20 ++++++ routers/routes/routes.go | 6 +- services/repository/square.go | 135 +++++++++++++++++++++++++++++++++++ 13 files changed, 381 insertions(+), 27 deletions(-) create mode 100644 services/repository/square.go diff --git a/models/list_options.go b/models/list_options.go index 0946917fe..29144ba22 100644 --- a/models/list_options.go +++ b/models/list_options.go @@ -10,6 +10,26 @@ import ( "xorm.io/xorm" ) +type SelectedPageSize int + +const ( + PageSize15 SelectedPageSize = 15 + PageSize30 SelectedPageSize = 30 + PageSize50 SelectedPageSize = 50 +) + +func (s SelectedPageSize) IsLegal() bool { + switch s { + case PageSize30, PageSize50, PageSize15: + return true + } + return false +} + +func (s SelectedPageSize) Int() int { + return int(s) +} + // ListOptions options to paginate results type ListOptions struct { PageSize int diff --git a/models/repo.go b/models/repo.go index f0760108b..e1085a429 100755 --- a/models/repo.go +++ b/models/repo.go @@ -231,10 +231,15 @@ type Repository struct { CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` - Hot int64 `xorm:"-"` - Active int64 `xorm:"-"` - Alias string `xorm:"INDEX"` - LowerAlias string `xorm:"INDEX"` + Hot int64 `xorm:"-"` + Active int64 `xorm:"-"` + Alias string `xorm:"INDEX"` + LowerAlias string `xorm:"INDEX"` + AiTaskCnt int64 `xorm:"NOT NULL DEFAULT 0"` + ModelCnt int64 `xorm:"NOT NULL DEFAULT 0"` + DatasetCnt int64 `xorm:"NOT NULL DEFAULT 0"` + LastMonthVisits int64 `xorm:"NOT NULL DEFAULT 0"` + LastFourMonthCommits int64 `xorm:"NOT NULL DEFAULT 0"` } type RepositoryShow struct { diff --git a/models/repo_list.go b/models/repo_list.go index 92654c11c..6ec9bbe8f 100755 --- a/models/repo_list.go +++ b/models/repo_list.go @@ -201,29 +201,41 @@ func (s SearchOrderBy) String() string { return string(s) } +type FindReposResponse struct { + Repos RepositoryList + Page int + PageSize int + Total int64 +} + // Strings for sorting result const ( - SearchOrderByAlphabetically SearchOrderBy = "name ASC" - SearchOrderByAlphabeticallyReverse SearchOrderBy = "name DESC" - SearchOrderByLeastUpdated SearchOrderBy = "updated_unix ASC" - SearchOrderByRecentUpdated SearchOrderBy = "updated_unix DESC" - SearchOrderByOldest SearchOrderBy = "created_unix ASC" - SearchOrderByNewest SearchOrderBy = "created_unix DESC" - SearchOrderBySize SearchOrderBy = "size ASC" - SearchOrderBySizeReverse SearchOrderBy = "size DESC" - SearchOrderByID SearchOrderBy = "id ASC" - SearchOrderByIDReverse SearchOrderBy = "id DESC" - SearchOrderByStars SearchOrderBy = "num_stars ASC" - SearchOrderByStarsReverse SearchOrderBy = "num_stars DESC" - SearchOrderByForks SearchOrderBy = "num_forks ASC" - SearchOrderByForksReverse SearchOrderBy = "num_forks DESC" - SearchOrderByDownloadTimes SearchOrderBy = "download_times DESC" - SearchOrderByUseCount SearchOrderBy = "use_count ASC" - SearchOrderByUseCountReverse SearchOrderBy = "use_count DESC" - SearchOrderByHot SearchOrderBy = "(num_watches + num_stars + num_forks + clone_cnt) DESC" - SearchOrderByActive SearchOrderBy = "(num_issues + num_pulls + num_commit) DESC" - SearchOrderByWatches SearchOrderBy = "num_watches DESC" - SearchOrderByDefault SearchOrderBy = "recommend desc,num_stars DESC,updated_unix DESC" + SearchOrderByAlphabetically SearchOrderBy = "name ASC" + SearchOrderByAlphabeticallyReverse SearchOrderBy = "name DESC" + SearchOrderByLeastUpdated SearchOrderBy = "updated_unix ASC" + SearchOrderByRecentUpdated SearchOrderBy = "updated_unix DESC" + SearchOrderByOldest SearchOrderBy = "created_unix ASC" + SearchOrderByNewest SearchOrderBy = "created_unix DESC" + SearchOrderBySize SearchOrderBy = "size ASC" + SearchOrderBySizeReverse SearchOrderBy = "size DESC" + SearchOrderByID SearchOrderBy = "id ASC" + SearchOrderByIDReverse SearchOrderBy = "id DESC" + SearchOrderByStars SearchOrderBy = "num_stars ASC" + SearchOrderByStarsReverse SearchOrderBy = "num_stars DESC" + SearchOrderByForks SearchOrderBy = "num_forks ASC" + SearchOrderByForksReverse SearchOrderBy = "num_forks DESC" + SearchOrderByDownloadTimes SearchOrderBy = "download_times DESC" + SearchOrderByUseCount SearchOrderBy = "use_count ASC" + SearchOrderByUseCountReverse SearchOrderBy = "use_count DESC" + SearchOrderByHot SearchOrderBy = "(num_watches + num_stars + num_forks + clone_cnt) DESC" + SearchOrderByActive SearchOrderBy = "(num_issues + num_pulls + num_commit) DESC" + SearchOrderByWatches SearchOrderBy = "num_watches DESC" + SearchOrderByDefault SearchOrderBy = "recommend desc,num_stars DESC,updated_unix DESC" + SearchOrderByAiTaskCntReverse SearchOrderBy = "ai_task_cnt desc" + SearchOrderByModelCntReverse SearchOrderBy = "model_cnt desc" + SearchOrderByDatasetCntReverse SearchOrderBy = "dataset_cnt desc" + SearchOrderByLastMonthVisitsReverse SearchOrderBy = "last_month_visits desc" + SearchOrderByLastFourMonthCommitsReverse SearchOrderBy = "last_four_month_commits desc" ) // SearchRepositoryCondition creates a query condition according search repository options diff --git a/models/repo_statistic.go b/models/repo_statistic.go index 4f8f13ed7..ecdd77e57 100755 --- a/models/repo_statistic.go +++ b/models/repo_statistic.go @@ -200,3 +200,23 @@ func UpdateRepoStatVisits(repoStat *RepoStatistic) error { _, err := xStatistic.Exec(sql, repoStat.NumVisits, repoStat.RepoID, repoStat.Date) return err } + +func SumRepoStatColumn(begin, end time.Time, repoId int64, columnName string) (int64, error) { + res, err := xStatistic.Where("created_unix <= ? and created_unix >= ? and repo_id = ? ", end.Unix(), begin.Unix(), repoId).Sum(&RepoStatistic{}, columnName) + if err != nil { + return 0, err + } + return int64(res), nil +} + +func SumLastMonthNumVisits(repoId int64) (int64, error) { + end := time.Now() + begin := end.AddDate(0, 0, -30) + return SumRepoStatColumn(begin, end, repoId, "num_visits") +} + +func SumLastFourMonthNumCommits(repoId int64) (int64, error) { + end := time.Now() + begin := end.AddDate(0, 0, -120) + return SumRepoStatColumn(begin, end, repoId, "num_commits_added") +} diff --git a/models/repo_tag.go b/models/repo_tag.go index 730eb3f2a..e4e37fbd2 100644 --- a/models/repo_tag.go +++ b/models/repo_tag.go @@ -4,6 +4,7 @@ import ( "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/timeutil" "fmt" + "xorm.io/builder" ) type OfficialTag struct { @@ -166,3 +167,33 @@ func GetAllOfficialTags() ([]OfficialTag, error) { } return o, nil } + +type FindSelectedReposOpts struct { + ListOptions + OrgId int64 + OnlyPublic bool +} + +func GetSelectedRepos(opts FindSelectedReposOpts) ([]Repository, error) { + if opts.Page < 1 { + opts.Page = 1 + } + var cond = builder.NewCond() + cond = cond.And(builder.Eq{"official_tag.code": "selected"}) + if opts.OrgId > 0 { + cond = cond.And(builder.Eq{"official_tag_repos.org_id": opts.OrgId}) + } + if opts.OnlyPublic { + cond = cond.And(builder.Eq{"repository.is_private": false}) + } + t := make([]Repository, 0) + err := x.Join("inner", "official_tag_repos", "repository.id = official_tag_repos.repo_id"). + Join("inner", "official_tag", "official_tag.id = official_tag_repos.tag_id"). + Where(cond).OrderBy("repository.updated_unix desc").Limit(opts.PageSize, (opts.Page-1)*opts.PageSize).Find(&t) + + if err != nil { + return nil, err + } + + return t, nil +} diff --git a/modules/setting/setting.go b/modules/setting/setting.go index e237d5a8a..0d623eb3b 100755 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -664,6 +664,10 @@ var ( CloudbrainStoppedTitle string CloudbrainStoppedRemark string + //repo square config + IncubationSourceOrgId int64 + PaperSourceOwnerId int64 + //nginx proxy PROXYURL string RadarMap = struct { @@ -1557,6 +1561,10 @@ func NewContext() { CloudbrainStoppedTitle = sec.Key("CLOUDBRAIN_STOPPED_TITLE").MustString("您好,您申请的算力资源已结束使用,任务已完成运行,状态为%s,请您关注运行结果") CloudbrainStoppedRemark = sec.Key("CLOUDBRAIN_STOPPED_REMARK").MustString("感谢您的耐心等待。") + sec = Cfg.Section("repo-square") + IncubationSourceOrgId = sec.Key("INCUBATION_ORG_ID").MustInt64(9) + PaperSourceOwnerId = sec.Key("PAPER_OWNER_ID").MustInt64(36008) + sec = Cfg.Section("point") CloudBrainPaySwitch = sec.Key("CLOUDBRAIN_PAY_SWITCH").MustBool(false) CloudBrainPayDelay = sec.Key("CLOUDBRAIN_PAY_DELAY").MustDuration(30 * time.Minute) diff --git a/routers/admin/resources.go b/routers/admin/resources.go index feea7b69b..8db958ef5 100644 --- a/routers/admin/resources.go +++ b/routers/admin/resources.go @@ -307,3 +307,37 @@ func RefreshHistorySpec(ctx *context.Context) { r["total"] = total ctx.JSON(http.StatusOK, response.SuccessWithData(r)) } + +func RefreshReposHistoryCnt(ctx *context.Context) { + scope := ctx.Query("scope") + list := ctx.Query("list") + + var scopeAll = false + if scope == "all" { + scopeAll = true + } + var ids = make([]int64, 0) + if list != "" { + strs := strings.Split(list, "|") + for _, s := range strs { + i, err := strconv.ParseInt(s, 10, 64) + if err != nil { + ctx.JSON(http.StatusOK, response.ServerError(err.Error())) + return + } + ids = append(ids, i) + } + + } + + total, success, err := resource.RefreshHistorySpec(scopeAll, ids) + if err != nil { + log.Error("RefreshHistorySpec error. %v", err) + ctx.JSON(http.StatusOK, response.ServerError(err.Error())) + return + } + r := make(map[string]interface{}, 0) + r["success"] = success + r["total"] = total + ctx.JSON(http.StatusOK, response.SuccessWithData(r)) +} diff --git a/routers/home.go b/routers/home.go index aab760611..7c13cb05e 100755 --- a/routers/home.go +++ b/routers/home.go @@ -7,6 +7,7 @@ package routers import ( "bytes" + "code.gitea.io/gitea/routers/response" "net/http" "strconv" "strings" @@ -295,6 +296,63 @@ func ExploreRepos(ctx *context.Context) { }) } +func RepoSquare(ctx *context.Context) { + var result []models.Repository + var err error + switch ctx.Query("type") { + case "preferred": + result, err = repository.GetPreferredRepos() + case "incubation": + result, err = repository.GetIncubationRepos() + case "hot-paper": + result, err = repository.GetHotPaperRepos() + default: + result, err = repository.GetPreferredRepos() + } + if err != nil { + ctx.JSON(http.StatusOK, response.ResponseError(err)) + return + } + resultMap := make(map[string]interface{}, 0) + resultMap["Repos"] = result + ctx.JSON(http.StatusOK, response.SuccessWithData(resultMap)) +} +func RepoFind(ctx *context.Context) { + keyword := strings.Trim(ctx.Query("q"), " ") + topic := strings.Trim(ctx.Query("topic"), " ") + sort := strings.Trim(ctx.Query("sort"), " ") + page := ctx.QueryInt("page") + pageSize := models.SelectedPageSize(ctx.QueryInt("pageSize")) + if !pageSize.IsLegal() { + ctx.JSON(http.StatusOK, response.ServerError("pageSize illegal")) + return + } + if page <= 0 { + page = 1 + } + + var ownerID int64 + if ctx.User != nil && !ctx.User.IsAdmin { + ownerID = ctx.User.ID + } + + result, err := repository.FindRepos(repository.FindReposOptions{ + ListOptions: models.ListOptions{Page: page, PageSize: pageSize.Int()}, + Actor: ctx.User, + Sort: sort, + Keyword: keyword, + Topic: topic, + Private: ctx.User != nil, + OwnerID: ownerID, + }) + if err != nil { + log.Error("RepoFind error. %v", err) + ctx.JSON(http.StatusOK, response.ResponseError(err)) + return + } + ctx.JSON(http.StatusOK, response.SuccessWithData(result)) +} + func ExploreDatasets(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("explore") ctx.Data["PageIsExplore"] = true @@ -824,4 +882,4 @@ func HomePrivacy(ctx *context.Context) { func HomeResoruceDesc(ctx *context.Context) { ctx.HTML(200, tplResoruceDesc) -} \ No newline at end of file +} diff --git a/routers/private/internal.go b/routers/private/internal.go index 14b0f05de..eae3713a9 100755 --- a/routers/private/internal.go +++ b/routers/private/internal.go @@ -55,6 +55,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Post("/task/history_handle/duration", repo.HandleTaskWithNoDuration) m.Post("/task/history_handle/aicenter", repo.HandleTaskWithAiCenter) m.Post("/resources/specification/handle_historical_task", admin.RefreshHistorySpec) + m.Post("/repos/cnt_stat/handle_historical_task", admin.RefreshHistorySpec) m.Post("/duration_statisctic/history_handle", repo.CloudbrainUpdateHistoryData) }, CheckInternalToken) diff --git a/routers/repo/cloudbrain_statistic.go b/routers/repo/cloudbrain_statistic.go index 4476b3e45..8084614eb 100644 --- a/routers/repo/cloudbrain_statistic.go +++ b/routers/repo/cloudbrain_statistic.go @@ -13,6 +13,12 @@ import ( ) func CloudbrainDurationStatisticHour() { + defer func() { + err := recover() + if err == nil { + return + } + }() var statisticTime time.Time var count int64 recordDurationUpdateTime, err := models.GetDurationRecordUpdateTime() diff --git a/routers/repo/repo_statistic.go b/routers/repo/repo_statistic.go index 468e6fa85..dd73a9f3f 100755 --- a/routers/repo/repo_statistic.go +++ b/routers/repo/repo_statistic.go @@ -166,6 +166,8 @@ func RepoStatisticDaily(date string) { repoStat.NumIssuesGrowth = repoStat.NumIssues - repoStatisticFourMonthsAgo.NumIssues } + SyncStatDataToRepo(repo) + if _, err = models.InsertRepoStat(&repoStat); err != nil { log.Error("InsertRepoStat failed(%s): %v", projectName, err) log.Error("failed statistic: %s", projectName) @@ -284,6 +286,24 @@ func RepoStatisticDaily(date string) { } +func SyncStatDataToRepo(repo *models.Repository) { + changed := false + //Save the visit number of repository in the last month + if lv, err := models.SumLastMonthNumVisits(repo.ID); err == nil { + repo.LastMonthVisits = lv + changed = true + } + //Save the commits number of repository in the last four month + if lc, err := models.SumLastFourMonthNumCommits(repo.ID); err == nil { + repo.LastFourMonthCommits = lc + changed = true + } + + if changed { + models.UpdateRepository(repo, false) + } +} + func getDistinctProjectName(repo *models.Repository) string { return repo.OwnerName + "/" + repo.Alias } diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 2b361b507..e902d10be 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -370,7 +370,11 @@ func RegisterRoutes(m *macaron.Macaron) { m.Get("/images/custom", repo.GetCustomImages) m.Get("/images/star", repo.GetStarImages) - m.Get("/repos", routers.ExploreRepos) + m.Group("/repos", func() { + m.Get("", routers.ExploreRepos) + m.Get("/square", routers.RepoSquare) + m.Get("/search", routers.RepoFind) + }) m.Get("/datasets", routers.ExploreDatasets) m.Get("/users", routers.ExploreUsers) m.Get("/organizations", routers.ExploreOrganizations) diff --git a/services/repository/square.go b/services/repository/square.go new file mode 100644 index 000000000..45416667c --- /dev/null +++ b/services/repository/square.go @@ -0,0 +1,135 @@ +package repository + +import ( + "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/log" + "code.gitea.io/gitea/modules/setting" +) + +func GetPreferredRepos() ([]models.Repository, error) { + return models.GetSelectedRepos(models.FindSelectedReposOpts{ + ListOptions: models.ListOptions{ + PageSize: 10, + Page: 1, + }, + OnlyPublic: true, + }) +} + +func GetIncubationRepos() ([]models.Repository, error) { + return models.GetSelectedRepos(models.FindSelectedReposOpts{ + ListOptions: models.ListOptions{ + PageSize: 10, + Page: 1, + }, + OrgId: setting.IncubationSourceOrgId, + OnlyPublic: true, + }) +} + +func GetHotPaperRepos() ([]models.Repository, error) { + rlist, _, err := models.SearchRepository(&models.SearchRepoOptions{ + ListOptions: models.ListOptions{ + Page: 1, + PageSize: 10, + }, + OrderBy: models.SearchOrderByLastMonthVisitsReverse + "," + models.SearchOrderByRecentUpdated, + TopicOnly: true, + TopicName: "openi-paper", + AllPublic: true, + }) + if err != nil { + return nil, err + } + result := make([]models.Repository, len(rlist)) + for i, r := range rlist { + result[i] = *r + } + return result, nil +} + +type FindReposOptions struct { + models.ListOptions + Actor *models.User + Sort string + Keyword string + Topic string + Private bool + OwnerID int64 +} + +func FindRepos(opts FindReposOptions) (*models.FindReposResponse, error) { + + var ( + repos []*models.Repository + count int64 + err error + orderBy models.SearchOrderBy + ) + + switch opts.Sort { + //1.近期热门:按最近1个月浏览量倒序排序,最近1个月浏览量>最近更新>项目名称升序 + //2.近期活跃:按提交增长量(最近4个月commit数)倒序排序,提交增长量>最近更新>项目名称升序。 + //3.最近更新:按最近更新>项目名称升序排序。 + //4.最近创建:按项目创建时间排序,最近的排前面。最近创建>项目名称升序。 + //5.点赞最多:按点赞数倒序排序。点赞数>最近更新>项目名称升序。 + //6.派生最多:按派生数倒序排序。派生数>最近更新>项目名称升序。 + //7.数据集最多:按项目包含的数据集文件数量倒序排序,数据集文件数>最近更新>项目名称升序。 + //8.AI任务最多:按项目包含的AI任务数量倒序排序,AI任务数>最近更新>项目名称升序。 + //9.模型最多:按项目包含的模型数量倒序排序,模型大小为0则不统计。模型数>最近更新>项目名称升序。\ + + //1.近期热门 + case "most_popular": + orderBy = models.SearchOrderByLastMonthVisitsReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically + //2.近期活跃 + case "most_active": + orderBy = models.SearchOrderByLastFourMonthCommitsReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically + //3.最近更新 + case "recent_update": + orderBy = models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically + //4.最近创建 + case "newest": + orderBy = models.SearchOrderByNewest + "," + models.SearchOrderByAlphabetically + //5.点赞最多 + case "most_stars": + orderBy = models.SearchOrderByStarsReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically + //6.派生最多 + case "most_forks": + orderBy = models.SearchOrderByForksReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically + //7.数据集最多 + case "most_datasets": + orderBy = models.SearchOrderByDatasetCntReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically + //8.AI任务最多 + case "most_ai_tasks": + orderBy = models.SearchOrderByAiTaskCntReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically + //9.模型最多 + case "most_models": + orderBy = models.SearchOrderByModelCntReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically + + default: + orderBy = models.SearchOrderByLastMonthVisitsReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically + } + + repos, count, err = models.SearchRepository(&models.SearchRepoOptions{ + ListOptions: opts.ListOptions, + Actor: opts.Actor, + OrderBy: orderBy, + Private: opts.Private, + Keyword: opts.Keyword, + OwnerID: opts.OwnerID, + AllPublic: true, + AllLimited: true, + TopicName: opts.Topic, + IncludeDescription: setting.UI.SearchRepoDescription, + }) + if err != nil { + log.Error("FindRepos error when SearchRepository.%v", err) + return nil, err + } + return &models.FindReposResponse{ + Repos: repos, + Total: count, + Page: opts.Page, + PageSize: opts.PageSize, + }, nil +} From b8281eb89be5328fc8cea7505acf7f14c268bb21 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 17:08:30 +0800 Subject: [PATCH 015/169] add --- models/cloudbrain.go | 1 + modules/modelarts/resty.go | 9 ++++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index ee5ec6162..2bae839cf 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1181,6 +1181,7 @@ type CreateConfigParams struct { LogUrl string `json:"log_url"` Flavor Flavor `json:"flavor"` PoolID string `json:"pool_id"` + Volumes Volumes `json:"volumes"` } type Parameter struct { diff --git a/modules/modelarts/resty.go b/modules/modelarts/resty.go index 68a9c0797..de9c0b2b6 100755 --- a/modules/modelarts/resty.go +++ b/modules/modelarts/resty.go @@ -483,8 +483,7 @@ func createTrainJobUserImage(createJobParams models.CreateUserImageTrainJobParam var result models.CreateTrainJobResult retry := 0 - log.Info("abcd", createJobParams) - fmt.Print("abcd", createJobParams) + sendjob: res, err := client.R(). SetHeader("Content-Type", "application/json"). @@ -499,6 +498,7 @@ sendjob: req, _ := json.Marshal(createJobParams) log.Info("%s", req) + log.Info("postapi detail: %s", string(req)) if res.StatusCode() == http.StatusUnauthorized && retry < 1 { retry++ @@ -544,9 +544,7 @@ func createTrainJob(createJobParams models.CreateTrainJobParams) (*models.Create var result models.CreateTrainJobResult retry := 0 - - log.Info("abcd", createJobParams) - fmt.Print("abcd", createJobParams) + log.Info("postapi detail: %s", createJobParams) sendjob: res, err := client.R(). @@ -759,6 +757,7 @@ func CreateTrainJobConfig(req models.CreateConfigParams) (*models.CreateTrainJob var result models.CreateTrainJobConfigResult retry := 0 + log.Info("postapi detail: %s", req) sendjob: res, err := client.R(). From 6762b26cae7f5178e5980218ed9e805e243f0b6e Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 17:21:31 +0800 Subject: [PATCH 016/169] add --- modules/modelarts/resty.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/modelarts/resty.go b/modules/modelarts/resty.go index de9c0b2b6..75f16155f 100755 --- a/modules/modelarts/resty.go +++ b/modules/modelarts/resty.go @@ -497,8 +497,9 @@ sendjob: } req, _ := json.Marshal(createJobParams) - log.Info("%s", req) - log.Info("postapi detail: %s", string(req)) + log.Info("postapi json: %s", string(req)) + log.Info("postapi detail: %s", createJobParams) + log.Info("postapi detail: %s", createJobParams.Config.Volumes) if res.StatusCode() == http.StatusUnauthorized && retry < 1 { retry++ @@ -545,6 +546,7 @@ func createTrainJob(createJobParams models.CreateTrainJobParams) (*models.Create retry := 0 log.Info("postapi detail: %s", createJobParams) + log.Info("postapi detail: %s", createJobParams.Config.Volumes) sendjob: res, err := client.R(). @@ -757,7 +759,9 @@ func CreateTrainJobConfig(req models.CreateConfigParams) (*models.CreateTrainJob var result models.CreateTrainJobConfigResult retry := 0 + log.Info("postapi detail: %s", req) + log.Info("postapi detail: %s", req.Volumes) sendjob: res, err := client.R(). From 7fe5748f5950049c34a06c80dbc669b10fa99a3a Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 28 Nov 2022 17:48:07 +0800 Subject: [PATCH 017/169] add --- modules/modelarts/modelarts.go | 3 +++ modules/modelarts/resty.go | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index dc5ba5b65..5ccb08c92 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -67,6 +67,7 @@ const ( ConfigTypeCustom = "custom" TotalVersionCount = 1 + VolumeID = "c6a73891-6a19-4a6a-a2e8-0d6baa72a7c5" VolumeSourcePath = "192.168.0.30:/" VolumeDestPath = "/cache/sfs/" ) @@ -378,6 +379,7 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str UserCommand: req.UserCommand, Volumes: models.Volumes{ Nfs: models.Nfs{ + ID: VolumeID, SourcePath: VolumeSourcePath, DestPath: VolumeDestPath, ReadOnly: false, @@ -405,6 +407,7 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str Parameter: req.Parameters, Volumes: models.Volumes{ Nfs: models.Nfs{ + ID: VolumeID, SourcePath: VolumeSourcePath, DestPath: VolumeDestPath, ReadOnly: false, diff --git a/modules/modelarts/resty.go b/modules/modelarts/resty.go index 75f16155f..27c37b1e8 100755 --- a/modules/modelarts/resty.go +++ b/modules/modelarts/resty.go @@ -498,8 +498,8 @@ sendjob: req, _ := json.Marshal(createJobParams) log.Info("postapi json: %s", string(req)) - log.Info("postapi detail: %s", createJobParams) - log.Info("postapi detail: %s", createJobParams.Config.Volumes) + log.Info("postapi detail all: %s", createJobParams) + log.Info("postapi detail Volume: %s", createJobParams.Config.Volumes) if res.StatusCode() == http.StatusUnauthorized && retry < 1 { retry++ @@ -545,8 +545,8 @@ func createTrainJob(createJobParams models.CreateTrainJobParams) (*models.Create var result models.CreateTrainJobResult retry := 0 - log.Info("postapi detail: %s", createJobParams) - log.Info("postapi detail: %s", createJobParams.Config.Volumes) + log.Info("postapi detail all: %s", createJobParams) + log.Info("postapi detail Volume: %s", createJobParams.Config.Volumes) sendjob: res, err := client.R(). @@ -760,8 +760,8 @@ func CreateTrainJobConfig(req models.CreateConfigParams) (*models.CreateTrainJob retry := 0 - log.Info("postapi detail: %s", req) - log.Info("postapi detail: %s", req.Volumes) + log.Info("postapi detail all: %s", req) + log.Info("postapi detail Volume: %s", req.Volumes) sendjob: res, err := client.R(). From 11f0bbd4e42720bd5ae5851d3afd7b06ded348e1 Mon Sep 17 00:00:00 2001 From: Gitea Date: Tue, 29 Nov 2022 09:20:10 +0800 Subject: [PATCH 018/169] add --- models/cloudbrain.go | 12 ++++++------ modules/modelarts/modelarts.go | 30 +++++++++++++++++------------- modules/modelarts/resty.go | 5 ----- 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index 2bae839cf..aba31f53c 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1060,7 +1060,7 @@ type UserImageConfig struct { CreateVersion bool `json:"create_version"` Flavor Flavor `json:"flavor"` PoolID string `json:"pool_id"` - Volumes Volumes `json:"volumes"` + Volumes []Volumes `json:"volumes"` } type CreateTrainJobParams struct { @@ -1081,10 +1081,10 @@ type Config struct { LogUrl string `json:"log_url"` //UserImageUrl string `json:"user_image_url"` //UserCommand string `json:"user_command"` - CreateVersion bool `json:"create_version"` - Flavor Flavor `json:"flavor"` - PoolID string `json:"pool_id"` - Volumes Volumes `json:"volumes"` + CreateVersion bool `json:"create_version"` + Flavor Flavor `json:"flavor"` + PoolID string `json:"pool_id"` + Volumes []Volumes `json:"volumes"` } type CreateInferenceJobParams struct { @@ -1181,7 +1181,7 @@ type CreateConfigParams struct { LogUrl string `json:"log_url"` Flavor Flavor `json:"flavor"` PoolID string `json:"pool_id"` - Volumes Volumes `json:"volumes"` + Volumes []Volumes `json:"volumes"` } type Parameter struct { diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index 5ccb08c92..03378159a 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -69,7 +69,7 @@ const ( VolumeID = "c6a73891-6a19-4a6a-a2e8-0d6baa72a7c5" VolumeSourcePath = "192.168.0.30:/" - VolumeDestPath = "/cache/sfs/" + VolumeDestPath = "/cache/sfs" ) var ( @@ -377,12 +377,14 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str Parameter: req.Parameters, UserImageUrl: req.UserImageUrl, UserCommand: req.UserCommand, - Volumes: models.Volumes{ - Nfs: models.Nfs{ - ID: VolumeID, - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, - ReadOnly: false, + Volumes: []models.Volumes{ + { + Nfs: models.Nfs{ + ID: VolumeID, + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, + }, }, }, }, @@ -405,12 +407,14 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str Code: req.Spec.SourceSpecId, }, Parameter: req.Parameters, - Volumes: models.Volumes{ - Nfs: models.Nfs{ - ID: VolumeID, - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, - ReadOnly: false, + Volumes: []models.Volumes{ + { + Nfs: models.Nfs{ + ID: VolumeID, + SourcePath: VolumeSourcePath, + DestPath: VolumeDestPath, + ReadOnly: false, + }, }, }, }, diff --git a/modules/modelarts/resty.go b/modules/modelarts/resty.go index 27c37b1e8..058641ddd 100755 --- a/modules/modelarts/resty.go +++ b/modules/modelarts/resty.go @@ -545,8 +545,6 @@ func createTrainJob(createJobParams models.CreateTrainJobParams) (*models.Create var result models.CreateTrainJobResult retry := 0 - log.Info("postapi detail all: %s", createJobParams) - log.Info("postapi detail Volume: %s", createJobParams.Config.Volumes) sendjob: res, err := client.R(). @@ -760,9 +758,6 @@ func CreateTrainJobConfig(req models.CreateConfigParams) (*models.CreateTrainJob retry := 0 - log.Info("postapi detail all: %s", req) - log.Info("postapi detail Volume: %s", req.Volumes) - sendjob: res, err := client.R(). SetHeader("Content-Type", "application/json"). From 5055eb8e5fb0a8f9b4eaf13b91df207686e0a2bf Mon Sep 17 00:00:00 2001 From: Gitea Date: Tue, 29 Nov 2022 11:01:08 +0800 Subject: [PATCH 019/169] add --- modules/modelarts/modelarts.go | 34 +++++++++++++++++++++++++--------- modules/modelarts/resty.go | 2 ++ 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index 03378159a..db31d45ec 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -67,9 +67,11 @@ const ( ConfigTypeCustom = "custom" TotalVersionCount = 1 - VolumeID = "c6a73891-6a19-4a6a-a2e8-0d6baa72a7c5" - VolumeSourcePath = "192.168.0.30:/" - VolumeDestPath = "/cache/sfs" + NfsID = "c6a73891-6a19-4a6a-a2e8-0d6baa72a7c5" + NfsSourcePath = "192.168.0.30:/" + NfsDestPath = "/cache/sfs" + HostSourcePath = "/mnt/sfs_turbo/data" + HostDestPath = "/cache/host" ) var ( @@ -380,9 +382,16 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str Volumes: []models.Volumes{ { Nfs: models.Nfs{ - ID: VolumeID, - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, + ID: NfsID, + SourcePath: NfsSourcePath, + DestPath: NfsDestPath, + ReadOnly: false, + }, + }, + { + HostPath: models.HostPath{ + SourcePath: HostSourcePath, + DestPath: HostDestPath, ReadOnly: false, }, }, @@ -410,9 +419,16 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str Volumes: []models.Volumes{ { Nfs: models.Nfs{ - ID: VolumeID, - SourcePath: VolumeSourcePath, - DestPath: VolumeDestPath, + ID: NfsID, + SourcePath: NfsSourcePath, + DestPath: NfsDestPath, + ReadOnly: false, + }, + }, + { + HostPath: models.HostPath{ + SourcePath: HostSourcePath, + DestPath: HostDestPath, ReadOnly: false, }, }, diff --git a/modules/modelarts/resty.go b/modules/modelarts/resty.go index 058641ddd..b05bb0f9b 100755 --- a/modules/modelarts/resty.go +++ b/modules/modelarts/resty.go @@ -546,6 +546,8 @@ func createTrainJob(createJobParams models.CreateTrainJobParams) (*models.Create retry := 0 + log.Info("postapi detail", createJobParams.Config.Volumes) + sendjob: res, err := client.R(). SetHeader("Content-Type", "application/json"). From 50f14ef3be16fb91d0bd7c6ef1127aeeb52e42bb Mon Sep 17 00:00:00 2001 From: Gitea Date: Tue, 29 Nov 2022 11:09:37 +0800 Subject: [PATCH 020/169] add --- modules/modelarts/resty.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/modelarts/resty.go b/modules/modelarts/resty.go index b05bb0f9b..0dc7252e5 100755 --- a/modules/modelarts/resty.go +++ b/modules/modelarts/resty.go @@ -498,8 +498,6 @@ sendjob: req, _ := json.Marshal(createJobParams) log.Info("postapi json: %s", string(req)) - log.Info("postapi detail all: %s", createJobParams) - log.Info("postapi detail Volume: %s", createJobParams.Config.Volumes) if res.StatusCode() == http.StatusUnauthorized && retry < 1 { retry++ @@ -545,8 +543,7 @@ func createTrainJob(createJobParams models.CreateTrainJobParams) (*models.Create var result models.CreateTrainJobResult retry := 0 - - log.Info("postapi detail", createJobParams.Config.Volumes) + log.Info("postapi detail", createJobParams) sendjob: res, err := client.R(). From a32a705b0b713b642efb18b14bd6ce08e0b1620a Mon Sep 17 00:00:00 2001 From: Gitea Date: Tue, 29 Nov 2022 11:25:50 +0800 Subject: [PATCH 021/169] add --- modules/modelarts/modelarts.go | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index db31d45ec..39ce8b826 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -67,11 +67,9 @@ const ( ConfigTypeCustom = "custom" TotalVersionCount = 1 - NfsID = "c6a73891-6a19-4a6a-a2e8-0d6baa72a7c5" - NfsSourcePath = "192.168.0.30:/" - NfsDestPath = "/cache/sfs" - HostSourcePath = "/mnt/sfs_turbo/data" - HostDestPath = "/cache/host" + NfsID = "c6a73891-6a19-4a6a-a2e8-0d6baa72a7c5" + NfsSourcePath = "192.168.0.30:/" + NfsDestPath = "/cache/sfs" ) var ( @@ -388,13 +386,6 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str ReadOnly: false, }, }, - { - HostPath: models.HostPath{ - SourcePath: HostSourcePath, - DestPath: HostDestPath, - ReadOnly: false, - }, - }, }, }, }) @@ -425,13 +416,6 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str ReadOnly: false, }, }, - { - HostPath: models.HostPath{ - SourcePath: HostSourcePath, - DestPath: HostDestPath, - ReadOnly: false, - }, - }, }, }, }) From c08838caeeca5b23c5014c14e8be1b597e15864d Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Tue, 29 Nov 2022 11:50:29 +0800 Subject: [PATCH 022/169] #3188 update --- models/repo.go | 45 +++++++++++++++++++++++++++++++ models/repo_list.go | 2 +- models/repo_tag.go | 4 +-- routers/home.go | 2 +- services/repository/square.go | 63 +++++++++++++++++++++++++------------------ 5 files changed, 86 insertions(+), 30 deletions(-) diff --git a/models/repo.go b/models/repo.go index e1085a429..a293dab18 100755 --- a/models/repo.go +++ b/models/repo.go @@ -242,12 +242,57 @@ type Repository struct { LastFourMonthCommits int64 `xorm:"NOT NULL DEFAULT 0"` } +// Repository4Card format for front display +type Repository4Card struct { + ID int64 + OwnerID int64 + OwnerName string + LowerName string + Name string + NumWatches int + NumStars int + NumForks int + Description string + Topics []string + AiTaskCnt int64 + ModelCnt int64 + DatasetCnt int64 + CreatedUnix timeutil.TimeStamp + UpdatedUnix timeutil.TimeStamp + PrimaryLanguage *LanguageStat + RelAvatarLink string +} + type RepositoryShow struct { Name string RepoType RepoType Alias string } +func (repo *Repository) ToCardFormat() *Repository4Card { + r := repo.RelAvatarLink() + result := &Repository4Card{ + ID: repo.ID, + OwnerID: repo.OwnerID, + OwnerName: repo.OwnerName, + LowerName: repo.LowerName, + Name: repo.Name, + NumWatches: repo.NumWatches, + NumStars: repo.NumStars, + NumForks: repo.NumForks, + Description: repo.Description, + Topics: repo.Topics, + AiTaskCnt: repo.AiTaskCnt, + ModelCnt: repo.ModelCnt, + DatasetCnt: repo.DatasetCnt, + CreatedUnix: repo.CreatedUnix, + UpdatedUnix: repo.UpdatedUnix, + PrimaryLanguage: repo.PrimaryLanguage, + RelAvatarLink: r, + } + return result +} + // SanitizedOriginalURL returns a sanitized OriginalURL func (repo *Repository) SanitizedOriginalURL() string { if repo.OriginalURL == "" { diff --git a/models/repo_list.go b/models/repo_list.go index 6ec9bbe8f..3c655fbd9 100755 --- a/models/repo_list.go +++ b/models/repo_list.go @@ -202,7 +202,7 @@ func (s SearchOrderBy) String() string { } type FindReposResponse struct { - Repos RepositoryList + Repos []*Repository4Card Page int PageSize int Total int64 diff --git a/models/repo_tag.go b/models/repo_tag.go index e4e37fbd2..4585a95b6 100644 --- a/models/repo_tag.go +++ b/models/repo_tag.go @@ -174,7 +174,7 @@ type FindSelectedReposOpts struct { OnlyPublic bool } -func GetSelectedRepos(opts FindSelectedReposOpts) ([]Repository, error) { +func GetSelectedRepos(opts FindSelectedReposOpts) ([]*Repository, error) { if opts.Page < 1 { opts.Page = 1 } @@ -186,7 +186,7 @@ func GetSelectedRepos(opts FindSelectedReposOpts) ([]Repository, error) { if opts.OnlyPublic { cond = cond.And(builder.Eq{"repository.is_private": false}) } - t := make([]Repository, 0) + t := make([]*Repository, 0) err := x.Join("inner", "official_tag_repos", "repository.id = official_tag_repos.repo_id"). Join("inner", "official_tag", "official_tag.id = official_tag_repos.tag_id"). Where(cond).OrderBy("repository.updated_unix desc").Limit(opts.PageSize, (opts.Page-1)*opts.PageSize).Find(&t) diff --git a/routers/home.go b/routers/home.go index 7c13cb05e..7b680bca0 100755 --- a/routers/home.go +++ b/routers/home.go @@ -297,7 +297,7 @@ func ExploreRepos(ctx *context.Context) { } func RepoSquare(ctx *context.Context) { - var result []models.Repository + var result []*models.Repository4Card var err error switch ctx.Query("type") { case "preferred": diff --git a/services/repository/square.go b/services/repository/square.go index 45416667c..cb7b9e4db 100644 --- a/services/repository/square.go +++ b/services/repository/square.go @@ -6,18 +6,26 @@ import ( "code.gitea.io/gitea/modules/setting" ) -func GetPreferredRepos() ([]models.Repository, error) { - return models.GetSelectedRepos(models.FindSelectedReposOpts{ +func GetPreferredRepos() ([]*models.Repository4Card, error) { + repos, err := models.GetSelectedRepos(models.FindSelectedReposOpts{ ListOptions: models.ListOptions{ PageSize: 10, Page: 1, }, OnlyPublic: true, }) + if err != nil { + return nil, err + } + result := make([]*models.Repository4Card, len(repos)) + for i, r := range repos { + result[i] = r.ToCardFormat() + } + return result, nil } -func GetIncubationRepos() ([]models.Repository, error) { - return models.GetSelectedRepos(models.FindSelectedReposOpts{ +func GetIncubationRepos() ([]*models.Repository4Card, error) { + repos, err := models.GetSelectedRepos(models.FindSelectedReposOpts{ ListOptions: models.ListOptions{ PageSize: 10, Page: 1, @@ -25,9 +33,17 @@ func GetIncubationRepos() ([]models.Repository, error) { OrgId: setting.IncubationSourceOrgId, OnlyPublic: true, }) + if err != nil { + return nil, err + } + result := make([]*models.Repository4Card, len(repos)) + for i, r := range repos { + result[i] = r.ToCardFormat() + } + return result, nil } -func GetHotPaperRepos() ([]models.Repository, error) { +func GetHotPaperRepos() ([]*models.Repository4Card, error) { rlist, _, err := models.SearchRepository(&models.SearchRepoOptions{ ListOptions: models.ListOptions{ Page: 1, @@ -41,9 +57,9 @@ func GetHotPaperRepos() ([]models.Repository, error) { if err != nil { return nil, err } - result := make([]models.Repository, len(rlist)) + result := make([]*models.Repository4Card, len(rlist)) for i, r := range rlist { - result[i] = *r + result[i] = r.ToCardFormat() } return result, nil } @@ -69,40 +85,30 @@ func FindRepos(opts FindReposOptions) (*models.FindReposResponse, error) { switch opts.Sort { //1.近期热门:按最近1个月浏览量倒序排序,最近1个月浏览量>最近更新>项目名称升序 - //2.近期活跃:按提交增长量(最近4个月commit数)倒序排序,提交增长量>最近更新>项目名称升序。 - //3.最近更新:按最近更新>项目名称升序排序。 - //4.最近创建:按项目创建时间排序,最近的排前面。最近创建>项目名称升序。 - //5.点赞最多:按点赞数倒序排序。点赞数>最近更新>项目名称升序。 - //6.派生最多:按派生数倒序排序。派生数>最近更新>项目名称升序。 - //7.数据集最多:按项目包含的数据集文件数量倒序排序,数据集文件数>最近更新>项目名称升序。 - //8.AI任务最多:按项目包含的AI任务数量倒序排序,AI任务数>最近更新>项目名称升序。 - //9.模型最多:按项目包含的模型数量倒序排序,模型大小为0则不统计。模型数>最近更新>项目名称升序。\ - - //1.近期热门 case "most_popular": orderBy = models.SearchOrderByLastMonthVisitsReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically - //2.近期活跃 + //2.近期活跃:按提交增长量(最近4个月commit数)倒序排序,提交增长量>最近更新>项目名称升序。 case "most_active": orderBy = models.SearchOrderByLastFourMonthCommitsReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically - //3.最近更新 + //3.最近更新:按最近更新>项目名称升序排序。 case "recent_update": orderBy = models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically - //4.最近创建 + //4.最近创建:按项目创建时间排序,最近的排前面。最近创建>项目名称升序。 case "newest": orderBy = models.SearchOrderByNewest + "," + models.SearchOrderByAlphabetically - //5.点赞最多 + //5.点赞最多:按点赞数倒序排序。点赞数>最近更新>项目名称升序。 case "most_stars": orderBy = models.SearchOrderByStarsReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically - //6.派生最多 + //6.派生最多:按派生数倒序排序。派生数>最近更新>项目名称升序。 case "most_forks": orderBy = models.SearchOrderByForksReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically - //7.数据集最多 + //7.数据集最多:按项目包含的数据集文件数量倒序排序,数据集文件数>最近更新>项目名称升序。 case "most_datasets": orderBy = models.SearchOrderByDatasetCntReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically - //8.AI任务最多 + //8.AI任务最多:按项目包含的AI任务数量倒序排序,AI任务数>最近更新>项目名称升序。 case "most_ai_tasks": orderBy = models.SearchOrderByAiTaskCntReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically - //9.模型最多 + //9.模型最多:按项目包含的模型数量倒序排序,模型大小为0则不统计。模型数>最近更新>项目名称升序。 case "most_models": orderBy = models.SearchOrderByModelCntReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically @@ -126,8 +132,13 @@ func FindRepos(opts FindReposOptions) (*models.FindReposResponse, error) { log.Error("FindRepos error when SearchRepository.%v", err) return nil, err } + result := make([]*models.Repository4Card, len(repos)) + for i, r := range repos { + result[i] = r.ToCardFormat() + } + return &models.FindReposResponse{ - Repos: repos, + Repos: result, Total: count, Page: opts.Page, PageSize: opts.PageSize, From 405cd970e689eebea9c9a1d20c43353914774cb5 Mon Sep 17 00:00:00 2001 From: Gitea Date: Tue, 29 Nov 2022 11:56:37 +0800 Subject: [PATCH 023/169] add --- models/cloudbrain.go | 14 +++++++++----- modules/modelarts/modelarts.go | 32 +++++++++----------------------- modules/modelarts/resty.go | 5 +++-- 3 files changed, 21 insertions(+), 30 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index aba31f53c..bbc2298d3 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1060,7 +1060,9 @@ type UserImageConfig struct { CreateVersion bool `json:"create_version"` Flavor Flavor `json:"flavor"` PoolID string `json:"pool_id"` - Volumes []Volumes `json:"volumes"` + ShareAddr string `json:"nas_share_addr"` + MountPath string `json:"nas_mount_path"` + NasType string `json:"nas_type"` } type CreateTrainJobParams struct { @@ -1081,10 +1083,12 @@ type Config struct { LogUrl string `json:"log_url"` //UserImageUrl string `json:"user_image_url"` //UserCommand string `json:"user_command"` - CreateVersion bool `json:"create_version"` - Flavor Flavor `json:"flavor"` - PoolID string `json:"pool_id"` - Volumes []Volumes `json:"volumes"` + CreateVersion bool `json:"create_version"` + Flavor Flavor `json:"flavor"` + PoolID string `json:"pool_id"` + ShareAddr string `json:"nas_share_addr"` + MountPath string `json:"nas_mount_path"` + NasType string `json:"nas_type"` } type CreateInferenceJobParams struct { diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index 39ce8b826..b97ef6249 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -67,9 +67,9 @@ const ( ConfigTypeCustom = "custom" TotalVersionCount = 1 - NfsID = "c6a73891-6a19-4a6a-a2e8-0d6baa72a7c5" - NfsSourcePath = "192.168.0.30:/" - NfsDestPath = "/cache/sfs" + ShareAddr = "192.168.0.30:/" + MountPath = "/cache/sfs" + NasType = "nfs" ) var ( @@ -377,16 +377,9 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str Parameter: req.Parameters, UserImageUrl: req.UserImageUrl, UserCommand: req.UserCommand, - Volumes: []models.Volumes{ - { - Nfs: models.Nfs{ - ID: NfsID, - SourcePath: NfsSourcePath, - DestPath: NfsDestPath, - ReadOnly: false, - }, - }, - }, + ShareAddr: ShareAddr, + MountPath: MountPath, + NasType: NasType, }, }) } else { @@ -407,16 +400,9 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str Code: req.Spec.SourceSpecId, }, Parameter: req.Parameters, - Volumes: []models.Volumes{ - { - Nfs: models.Nfs{ - ID: NfsID, - SourcePath: NfsSourcePath, - DestPath: NfsDestPath, - ReadOnly: false, - }, - }, - }, + ShareAddr: ShareAddr, + MountPath: MountPath, + NasType: NasType, }, }) } diff --git a/modules/modelarts/resty.go b/modules/modelarts/resty.go index 0dc7252e5..50f22b372 100755 --- a/modules/modelarts/resty.go +++ b/modules/modelarts/resty.go @@ -497,7 +497,7 @@ sendjob: } req, _ := json.Marshal(createJobParams) - log.Info("postapi json: %s", string(req)) + log.Info("postapi json: %s", req) if res.StatusCode() == http.StatusUnauthorized && retry < 1 { retry++ @@ -543,7 +543,8 @@ func createTrainJob(createJobParams models.CreateTrainJobParams) (*models.Create var result models.CreateTrainJobResult retry := 0 - log.Info("postapi detail", createJobParams) + req, _ := json.Marshal(createJobParams) + log.Info("postapi json: %s", req) sendjob: res, err := client.R(). From 8545f920d3267fa26e9a32418a75215c672314df Mon Sep 17 00:00:00 2001 From: Gitea Date: Tue, 29 Nov 2022 14:28:29 +0800 Subject: [PATCH 024/169] add --- models/cloudbrain.go | 6 ++++++ modules/modelarts/modelarts.go | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index bbc2298d3..1790ef44b 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -1155,6 +1155,9 @@ type TrainJobVersionConfig struct { Flavor Flavor `json:"flavor"` PoolID string `json:"pool_id"` PreVersionId int64 `json:"pre_version_id"` + ShareAddr string `json:"nas_share_addr"` + MountPath string `json:"nas_mount_path"` + NasType string `json:"nas_type"` } type TrainJobVersionUserImageConfig struct { @@ -1170,6 +1173,9 @@ type TrainJobVersionUserImageConfig struct { PreVersionId int64 `json:"pre_version_id"` UserImageUrl string `json:"user_image_url"` UserCommand string `json:"user_command"` + ShareAddr string `json:"nas_share_addr"` + MountPath string `json:"nas_mount_path"` + NasType string `json:"nas_type"` } type CreateConfigParams struct { diff --git a/modules/modelarts/modelarts.go b/modules/modelarts/modelarts.go index b97ef6249..67c0b76c3 100755 --- a/modules/modelarts/modelarts.go +++ b/modules/modelarts/modelarts.go @@ -521,6 +521,9 @@ func GenerateTrainJobVersion(ctx *context.Context, req *GenerateTrainJobReq, job PreVersionId: req.PreVersionId, UserImageUrl: req.UserImageUrl, UserCommand: req.UserCommand, + ShareAddr: ShareAddr, + MountPath: MountPath, + NasType: NasType, }, }, jobId) } else { @@ -540,6 +543,9 @@ func GenerateTrainJobVersion(ctx *context.Context, req *GenerateTrainJobReq, job }, Parameter: req.Parameters, PreVersionId: req.PreVersionId, + ShareAddr: ShareAddr, + MountPath: MountPath, + NasType: NasType, }, }, jobId) } From b7d03ff367bfae835287fc9a976abe042d265f2d Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Wed, 30 Nov 2022 10:32:42 +0800 Subject: [PATCH 025/169] #3188 add active user list query api --- models/user.go | 32 ++++++++++++++++++++++++++++ models/user_business_analysis.go | 6 ++++++ routers/home.go | 18 ++++++++++++++++ routers/routes/routes.go | 7 +++++- services/repository/square.go | 46 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 108 insertions(+), 1 deletion(-) diff --git a/models/user.go b/models/user.go index b21858e37..ec636e000 100755 --- a/models/user.go +++ b/models/user.go @@ -198,6 +198,38 @@ type SearchOrganizationsOptions struct { All bool } +type User4Front struct { + ID int64 + LowerName string `xorm:"UNIQUE NOT NULL"` + Name string `xorm:"UNIQUE NOT NULL"` + FullName string + Email string `xorm:"NOT NULL"` + Language string `xorm:"VARCHAR(5)"` + Description string + RelAvatarLink string + CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` + UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` +} + +func (u *User) ToFrontFormat() *User4Front { + uf := &User4Front{ + ID: u.ID, + LowerName: u.LowerName, + Name: u.Name, + FullName: u.FullName, + Email: u.Email, + Language: u.Language, + Description: u.Description, + CreatedUnix: u.CreatedUnix, + UpdatedUnix: u.UpdatedUnix, + } + if !u.KeepEmailPrivate { + uf.Email = u.Email + } + uf.RelAvatarLink = u.RelAvatarLink() + return uf +} + // GenerateRandomAvatar generates a random avatar for user. func (u *User) IsBindWechat() bool { return u.WechatOpenId != "" diff --git a/models/user_business_analysis.go b/models/user_business_analysis.go index 394c24825..5ee79f16e 100644 --- a/models/user_business_analysis.go +++ b/models/user_business_analysis.go @@ -2424,3 +2424,9 @@ func GetContentFromPromote(url string) (string, error) { allLineStr := string(bytes) return allLineStr, nil } + +func QueryLast30DaysHighestIndexUsers(size int) ([]int64, error) { + userIds := make([]int64, 0) + err := xStatistic.Table("user_business_analysis_last30_day").Cols("id").OrderBy("user_index").Limit(size).Find(&userIds) + return userIds, err +} diff --git a/routers/home.go b/routers/home.go index 7b680bca0..f8363bb1a 100755 --- a/routers/home.go +++ b/routers/home.go @@ -317,6 +317,24 @@ func RepoSquare(ctx *context.Context) { resultMap["Repos"] = result ctx.JSON(http.StatusOK, response.SuccessWithData(resultMap)) } + +func ActiveUser(ctx *context.Context) { + var err error + var currentUserId int64 + if ctx.User != nil { + currentUserId = ctx.User.ID + } + result, err := repository.GetActiveUser4Square(currentUserId) + if err != nil { + log.Error("ActiveUser err. %v", err) + ctx.JSON(http.StatusOK, response.Success()) + return + } + resultMap := make(map[string]interface{}, 0) + resultMap["Users"] = result + ctx.JSON(http.StatusOK, response.SuccessWithData(resultMap)) +} + func RepoFind(ctx *context.Context) { keyword := strings.Trim(ctx.Query("q"), " ") topic := strings.Trim(ctx.Query("topic"), " ") diff --git a/routers/routes/routes.go b/routers/routes/routes.go index e902d10be..31d72a96b 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -372,7 +372,12 @@ func RegisterRoutes(m *macaron.Macaron) { m.Group("/repos", func() { m.Get("", routers.ExploreRepos) - m.Get("/square", routers.RepoSquare) + m.Group("/square", func() { + m.Get("/tab", routers.RepoSquare) + m.Get("/active-user", routers.ActiveUser) + m.Get("/active-org", routers.RepoSquare) + }) + m.Get("/search", routers.RepoFind) }) m.Get("/datasets", routers.ExploreDatasets) diff --git a/services/repository/square.go b/services/repository/square.go index cb7b9e4db..4465cbe9b 100644 --- a/services/repository/square.go +++ b/services/repository/square.go @@ -144,3 +144,49 @@ func FindRepos(opts FindReposOptions) (*models.FindReposResponse, error) { PageSize: opts.PageSize, }, nil } + +type ActiveUser struct { + User *models.User4Front + Followed bool + ShowButton bool +} + +func GetActiveUser4Square(currentUserId int64) ([]*ActiveUser, error) { + result := make([]*ActiveUser, 0) + userIds, err := models.QueryLast30DaysHighestIndexUsers(10) + if err != nil { + log.Error("ActiveUser err. %v", err) + return result, err + } + if len(userIds) == 0 { + return result, nil + } + + users, err := models.GetUsersByIDs(userIds) + if err != nil { + return result, nil + } + usersMap := make(map[int64]*models.User) + for _, v := range users { + usersMap[v.ID] = v + } + + for i := 0; i < len(userIds); i++ { + userId := userIds[i] + user := usersMap[userId] + if user == nil { + continue + } + isFollowed := false + if currentUserId != 0 { + isFollowed = models.IsFollowing(currentUserId, userId) + } + a := &ActiveUser{ + Followed: isFollowed, + User: user.ToFrontFormat(), + ShowButton: currentUserId != userId, + } + result = append(result, a) + } + return result, nil +} From 788f8807fcbcf6bf5ad33d26a62cc99b938a3f33 Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Wed, 30 Nov 2022 11:14:18 +0800 Subject: [PATCH 026/169] #3188 add active org list query api --- models/user.go | 2 ++ routers/home.go | 11 +++++++++++ routers/routes/routes.go | 2 +- services/repository/square.go | 12 ++++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/models/user.go b/models/user.go index ec636e000..e4eed1f9a 100755 --- a/models/user.go +++ b/models/user.go @@ -207,6 +207,7 @@ type User4Front struct { Language string `xorm:"VARCHAR(5)"` Description string RelAvatarLink string + NumMembers int CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` } @@ -222,6 +223,7 @@ func (u *User) ToFrontFormat() *User4Front { Description: u.Description, CreatedUnix: u.CreatedUnix, UpdatedUnix: u.UpdatedUnix, + NumMembers: u.NumMembers, } if !u.KeepEmailPrivate { uf.Email = u.Email diff --git a/routers/home.go b/routers/home.go index f8363bb1a..a1043655e 100755 --- a/routers/home.go +++ b/routers/home.go @@ -334,6 +334,17 @@ func ActiveUser(ctx *context.Context) { resultMap["Users"] = result ctx.JSON(http.StatusOK, response.SuccessWithData(resultMap)) } +func ActiveOrg(ctx *context.Context) { + result, err := repository.GetActiveOrgs() + if err != nil { + log.Error("ActiveOrg err. %v", err) + ctx.JSON(http.StatusOK, response.Success()) + return + } + resultMap := make(map[string]interface{}, 0) + resultMap["Orgs"] = result + ctx.JSON(http.StatusOK, response.SuccessWithData(resultMap)) +} func RepoFind(ctx *context.Context) { keyword := strings.Trim(ctx.Query("q"), " ") diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 31d72a96b..8f60153db 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -375,7 +375,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Group("/square", func() { m.Get("/tab", routers.RepoSquare) m.Get("/active-user", routers.ActiveUser) - m.Get("/active-org", routers.RepoSquare) + m.Get("/active-org", routers.ActiveOrg) }) m.Get("/search", routers.RepoFind) diff --git a/services/repository/square.go b/services/repository/square.go index 4465cbe9b..55858db81 100644 --- a/services/repository/square.go +++ b/services/repository/square.go @@ -190,3 +190,15 @@ func GetActiveUser4Square(currentUserId int64) ([]*ActiveUser, error) { } return result, nil } + +func GetActiveOrgs() ([]*models.User4Front, error) { + orgScores, err := models.FindTopNOpenIOrgs(10) + if err != nil { + return nil, err + } + orgs := make([]*models.User4Front, len(orgScores)) + for i, v := range orgScores { + orgs[i] = v.ToFrontFormat() + } + return orgs, nil +} From 394bfdd8a70dee03091d45fda7fbff1b6d3527ca Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Wed, 30 Nov 2022 18:06:18 +0800 Subject: [PATCH 027/169] #3169 update --- models/resource_specification.go | 93 ++++++++++++++++++++++ modules/grampus/grampus.go | 5 +- .../cloudbrain/resource/resource_specification.go | 48 +---------- 3 files changed, 96 insertions(+), 50 deletions(-) diff --git a/models/resource_specification.go b/models/resource_specification.go index 2f815818b..809a3496a 100644 --- a/models/resource_specification.go +++ b/models/resource_specification.go @@ -3,6 +3,7 @@ package models import ( "code.gitea.io/gitea/modules/timeutil" "fmt" + "strings" "xorm.io/builder" ) @@ -197,12 +198,104 @@ type Specification struct { AiCenterName string IsExclusive bool ExclusiveOrg string + //specs that have the same sourceSpecId, computeResource and cluster as current spec + RelatedSpecs []*Specification } func (Specification) TableName() string { return "resource_specification" } +func (s *Specification) loadRelatedSpecs() { + if s.RelatedSpecs != nil { + return + } + defaultSpecs := make([]*Specification, 0) + if s.SourceSpecId == "" { + s.RelatedSpecs = defaultSpecs + return + } + r, err := FindSpecs(FindSpecsOptions{ + ComputeResource: s.ComputeResource, + Cluster: s.Cluster, + SourceSpecId: s.SourceSpecId, + RequestAll: true, + SpecStatus: SpecOnShelf, + }) + if err != nil { + s.RelatedSpecs = defaultSpecs + return + } + s.RelatedSpecs = r +} +func (s *Specification) GetAvailableCenterIds(userIds ...int64) []string { + s.loadRelatedSpecs() + + if len(s.RelatedSpecs) == 0 { + return make([]string, 0) + } + + var uId int64 + if len(userIds) > 0 { + uId = userIds[0] + } + //filter exclusive specs + specs := FilterExclusiveSpecs(s.RelatedSpecs, uId) + + centerIds := make([]string, len(specs)) + for i, v := range specs { + centerIds[i] = v.AiCenterCode + } + return centerIds +} + +func FilterExclusiveSpecs(r []*Specification, userId int64) []*Specification { + if userId == 0 { + return r + } + specs := make([]*Specification, 0, len(r)) + specMap := make(map[int64]string, 0) + for i := 0; i < len(r); i++ { + spec := r[i] + if _, has := specMap[spec.ID]; has { + continue + } + if !spec.IsExclusive { + specs = append(specs, spec) + specMap[spec.ID] = "" + continue + } + orgs := strings.Split(spec.ExclusiveOrg, ";") + for _, org := range orgs { + isMember, _ := IsOrganizationMemberByOrgName(org, userId) + if isMember { + specs = append(specs, spec) + specMap[spec.ID] = "" + break + } + } + } + return specs +} + +func DistinctSpecs(r []*Specification) []*Specification { + specs := make([]*Specification, 0, len(r)) + sourceSpecIdMap := make(map[string]string, 0) + for i := 0; i < len(r); i++ { + spec := r[i] + if spec.SourceSpecId == "" { + specs = append(specs, spec) + continue + } + if _, has := sourceSpecIdMap[spec.SourceSpecId]; has { + continue + } + specs = append(specs, spec) + sourceSpecIdMap[spec.SourceSpecId] = "" + } + return specs +} + func InsertResourceSpecification(r ResourceSpecification) (int64, error) { return x.Insert(&r) } diff --git a/modules/grampus/grampus.go b/modules/grampus/grampus.go index b6f62560a..6b2ea6288 100755 --- a/modules/grampus/grampus.go +++ b/modules/grampus/grampus.go @@ -105,8 +105,6 @@ func getDatasetGrampus(datasetInfos map[string]models.DatasetInfo) []models.Gram func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId string, err error) { createTime := timeutil.TimeStampNow() - centerID, centerName := getCentersParamter(ctx, req) - var datasetGrampus, modelGrampus []models.GrampusDataset var codeGrampus models.GrampusDataset if ProcessorTypeNPU == req.ProcessType { @@ -138,8 +136,7 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (jobId str ResourceSpecId: req.Spec.SourceSpecId, ImageId: req.ImageId, ImageUrl: req.ImageUrl, - CenterID: centerID, - CenterName: centerName, + CenterID: req.Spec.GetAvailableCenterIds(ctx.User.ID), ReplicaNum: 1, Datasets: datasetGrampus, Models: modelGrampus, diff --git a/services/cloudbrain/resource/resource_specification.go b/services/cloudbrain/resource/resource_specification.go index 8f4182d87..5070d7c1e 100644 --- a/services/cloudbrain/resource/resource_specification.go +++ b/services/cloudbrain/resource/resource_specification.go @@ -246,10 +246,10 @@ func FindAvailableSpecs(userId int64, opts models.FindSpecsOptions) ([]*models.S return nil, err } //filter exclusive specs - specs := filterExclusiveSpecs(r, userId) + specs := models.FilterExclusiveSpecs(r, userId) //distinct by sourceSpecId - specs = distinctSpecs(specs) + specs = models.DistinctSpecs(specs) return specs, err } @@ -265,50 +265,6 @@ func FindAvailableSpecs4Show(userId int64, opts models.FindSpecsOptions) ([]*api return result, nil } -func filterExclusiveSpecs(r []*models.Specification, userId int64) []*models.Specification { - specs := make([]*models.Specification, 0, len(r)) - specMap := make(map[int64]string, 0) - for i := 0; i < len(r); i++ { - spec := r[i] - if _, has := specMap[spec.ID]; has { - continue - } - if !spec.IsExclusive { - specs = append(specs, spec) - specMap[spec.ID] = "" - continue - } - orgs := strings.Split(spec.ExclusiveOrg, ";") - for _, org := range orgs { - isMember, _ := models.IsOrganizationMemberByOrgName(org, userId) - if isMember { - specs = append(specs, spec) - specMap[spec.ID] = "" - break - } - } - } - return specs -} - -func distinctSpecs(r []*models.Specification) []*models.Specification { - specs := make([]*models.Specification, 0, len(r)) - sourceSpecIdMap := make(map[string]string, 0) - for i := 0; i < len(r); i++ { - spec := r[i] - if spec.SourceSpecId == "" { - specs = append(specs, spec) - continue - } - if _, has := sourceSpecIdMap[spec.SourceSpecId]; has { - continue - } - specs = append(specs, spec) - sourceSpecIdMap[spec.SourceSpecId] = "" - } - return specs -} - func GetAndCheckSpec(userId int64, specId int64, opts models.FindSpecsOptions) (*models.Specification, error) { if specId == 0 { return nil, nil From 363dc27fa590665d2f06e7451d7189882de1b457 Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Thu, 1 Dec 2022 10:27:22 +0800 Subject: [PATCH 028/169] #3169 update --- models/list_options.go | 12 ++++++------ routers/home.go | 14 +++++++++++++- routers/routes/routes.go | 4 +++- services/repository/square.go | 16 ++++++++-------- 4 files changed, 30 insertions(+), 16 deletions(-) diff --git a/models/list_options.go b/models/list_options.go index 29144ba22..d6d1dcf0d 100644 --- a/models/list_options.go +++ b/models/list_options.go @@ -10,15 +10,15 @@ import ( "xorm.io/xorm" ) -type SelectedPageSize int +type AvailablePageSize int const ( - PageSize15 SelectedPageSize = 15 - PageSize30 SelectedPageSize = 30 - PageSize50 SelectedPageSize = 50 + PageSize15 AvailablePageSize = 15 + PageSize30 AvailablePageSize = 30 + PageSize50 AvailablePageSize = 50 ) -func (s SelectedPageSize) IsLegal() bool { +func (s AvailablePageSize) IsLegal() bool { switch s { case PageSize30, PageSize50, PageSize15: return true @@ -26,7 +26,7 @@ func (s SelectedPageSize) IsLegal() bool { return false } -func (s SelectedPageSize) Int() int { +func (s AvailablePageSize) Int() int { return int(s) } diff --git a/routers/home.go b/routers/home.go index a1043655e..d54a0160f 100755 --- a/routers/home.go +++ b/routers/home.go @@ -43,6 +43,8 @@ const ( tplHomeTerm base.TplName = "terms" tplHomePrivacy base.TplName = "privacy" tplResoruceDesc base.TplName = "resource_desc" + tplRepoSquare base.TplName = "explore/repos/square" + tplRepoSearch base.TplName = "explore/repos/search" ) // Home render home page @@ -296,6 +298,13 @@ func ExploreRepos(ctx *context.Context) { }) } +func GetRepoSquarePage(ctx *context.Context) { + ctx.HTML(200, tplRepoSquare) +} +func GetRepoSearchPage(ctx *context.Context) { + ctx.HTML(200, tplRepoSearch) +} + func RepoSquare(ctx *context.Context) { var result []*models.Repository4Card var err error @@ -351,7 +360,10 @@ func RepoFind(ctx *context.Context) { topic := strings.Trim(ctx.Query("topic"), " ") sort := strings.Trim(ctx.Query("sort"), " ") page := ctx.QueryInt("page") - pageSize := models.SelectedPageSize(ctx.QueryInt("pageSize")) + pageSize := models.AvailablePageSize(ctx.QueryInt("pageSize")) + if pageSize == 0 { + pageSize = models.PageSize15 + } if !pageSize.IsLegal() { ctx.JSON(http.StatusOK, response.ServerError("pageSize illegal")) return diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 8f60153db..8ecca32e2 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -371,8 +371,10 @@ func RegisterRoutes(m *macaron.Macaron) { m.Get("/images/star", repo.GetStarImages) m.Group("/repos", func() { - m.Get("", routers.ExploreRepos) + //m.Get("", routers.ExploreRepos) + m.Get("", routers.GetRepoSearchPage) m.Group("/square", func() { + m.Get("", routers.GetRepoSquarePage) m.Get("/tab", routers.RepoSquare) m.Get("/active-user", routers.ActiveUser) m.Get("/active-org", routers.ActiveOrg) diff --git a/services/repository/square.go b/services/repository/square.go index 55858db81..7ff36c5af 100644 --- a/services/repository/square.go +++ b/services/repository/square.go @@ -85,31 +85,31 @@ func FindRepos(opts FindReposOptions) (*models.FindReposResponse, error) { switch opts.Sort { //1.近期热门:按最近1个月浏览量倒序排序,最近1个月浏览量>最近更新>项目名称升序 - case "most_popular": + case "mostpopular": orderBy = models.SearchOrderByLastMonthVisitsReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically //2.近期活跃:按提交增长量(最近4个月commit数)倒序排序,提交增长量>最近更新>项目名称升序。 - case "most_active": + case "mostactive": orderBy = models.SearchOrderByLastFourMonthCommitsReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically //3.最近更新:按最近更新>项目名称升序排序。 - case "recent_update": + case "recentupdate": orderBy = models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically //4.最近创建:按项目创建时间排序,最近的排前面。最近创建>项目名称升序。 case "newest": orderBy = models.SearchOrderByNewest + "," + models.SearchOrderByAlphabetically //5.点赞最多:按点赞数倒序排序。点赞数>最近更新>项目名称升序。 - case "most_stars": + case "moststars": orderBy = models.SearchOrderByStarsReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically //6.派生最多:按派生数倒序排序。派生数>最近更新>项目名称升序。 - case "most_forks": + case "mostforks": orderBy = models.SearchOrderByForksReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically //7.数据集最多:按项目包含的数据集文件数量倒序排序,数据集文件数>最近更新>项目名称升序。 - case "most_datasets": + case "mostdatasets": orderBy = models.SearchOrderByDatasetCntReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically //8.AI任务最多:按项目包含的AI任务数量倒序排序,AI任务数>最近更新>项目名称升序。 - case "most_ai_tasks": + case "mostaitasks": orderBy = models.SearchOrderByAiTaskCntReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically //9.模型最多:按项目包含的模型数量倒序排序,模型大小为0则不统计。模型数>最近更新>项目名称升序。 - case "most_models": + case "mostmodels": orderBy = models.SearchOrderByModelCntReverse + "," + models.SearchOrderByRecentUpdated + "," + models.SearchOrderByAlphabetically default: From 3c60550adb68bfcfb1e5df0ea6920aa0e344bd4a Mon Sep 17 00:00:00 2001 From: zouap Date: Thu, 1 Dec 2022 16:13:26 +0800 Subject: [PATCH 029/169] =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E5=85=AC=E6=9C=89?= =?UTF-8?q?=E7=A7=81=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- models/ai_model_manage.go | 1 + models/user_analysis_for_activity.go | 9 +++++++++ routers/api/v1/api.go | 1 + routers/repo/ai_model_manage.go | 5 ++++- routers/repo/user_data_analysis.go | 6 ++++++ 5 files changed, 21 insertions(+), 1 deletion(-) diff --git a/models/ai_model_manage.go b/models/ai_model_manage.go index 5b14b9ba2..3083c4266 100644 --- a/models/ai_model_manage.go +++ b/models/ai_model_manage.go @@ -33,6 +33,7 @@ type AiModelManage struct { CodeBranch string `xorm:"varchar(400) NULL" json:"codeBranch"` CodeCommitID string `xorm:"NULL" json:"codeCommitID"` UserId int64 `xorm:"NOT NULL" json:"userId"` + IsPrivate bool `xorm:"DEFAULT false" json:"isPrivate"` UserName string `json:"userName"` UserRelAvatarLink string `json:"userRelAvatarLink"` TrainTaskInfo string `xorm:"text NULL" json:"trainTaskInfo"` diff --git a/models/user_analysis_for_activity.go b/models/user_analysis_for_activity.go index 2066697d2..f52b127c6 100644 --- a/models/user_analysis_for_activity.go +++ b/models/user_analysis_for_activity.go @@ -449,3 +449,12 @@ func QueryUserLoginInfo(userIds []int64) []*UserLoginLog { return loginList } + +func QueryUserAnnualReport(userId int64) *UserSummaryCurrentYear { + statictisSess := xStatistic.NewSession() + defer statictisSess.Close() + var re *UserSummaryCurrentYear + statictisSess.ID(userId).Get(re) + + return re +} diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index 14badfdb4..a6e0eb737 100755 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -610,6 +610,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Get("/query_invitation_yesterday", operationReq, repo_ext.QueryInvitationYesterday) m.Get("/query_invitation_all", operationReq, repo_ext.QueryInvitationAll) m.Get("/query_invitation_userdefine", operationReq, repo_ext.QueryUserDefineInvitationPage) + m.Get("/query_user_annual_report", repo_ext.QueryUserAnnualReport) m.Get("/download_invitation_detail", operationReq, repo_ext.DownloadInvitationDetail) diff --git a/routers/repo/ai_model_manage.go b/routers/repo/ai_model_manage.go index 7eedb9bc4..d93905d7c 100644 --- a/routers/repo/ai_model_manage.go +++ b/routers/repo/ai_model_manage.go @@ -93,7 +93,7 @@ func saveModelByParameters(jobId string, versionName string, name string, versio log.Info("accuracyJson=" + string(accuracyJson)) aiTask.ContainerIp = "" aiTaskJson, _ := json.Marshal(aiTask) - + isPrivate := ctx.QueryBool("isPrivate") model := &models.AiModelManage{ ID: id, Version: version, @@ -114,6 +114,7 @@ func saveModelByParameters(jobId string, versionName string, name string, versio TrainTaskInfo: string(aiTaskJson), Accuracy: string(accuracyJson), Status: STATUS_COPY_MODEL, + IsPrivate: isPrivate, } err = models.SaveModelToDb(model) @@ -216,6 +217,7 @@ func SaveLocalModel(ctx *context.Context) { description := ctx.Query("description") engine := ctx.QueryInt("engine") taskType := ctx.QueryInt("type") + isPrivate := ctx.QueryBool("isPrivate") modelActualPath := "" if taskType == models.TypeCloudBrainOne { destKeyNamePrefix := Model_prefix + models.AttachmentRelativePath(id) + "/" @@ -262,6 +264,7 @@ func SaveLocalModel(ctx *context.Context) { TrainTaskInfo: "", Accuracy: "", Status: STATUS_FINISHED, + IsPrivate: isPrivate, } err := models.SaveModelToDb(model) diff --git a/routers/repo/user_data_analysis.go b/routers/repo/user_data_analysis.go index 508addf75..a6de283a4 100755 --- a/routers/repo/user_data_analysis.go +++ b/routers/repo/user_data_analysis.go @@ -907,3 +907,9 @@ func QueryUserLoginInfo(ctx *context.Context) { log.Info("writer exel error." + err.Error()) } } + +func QueryUserAnnualReport(ctx *context.Context) { + log.Info("start to QueryUserAnnualReport ") + result := models.QueryUserAnnualReport(ctx.User.ID) + ctx.JSON(http.StatusOK, result) +} From 7e98e054414db4a3022f07549e0076197d6b47ce Mon Sep 17 00:00:00 2001 From: zouap Date: Thu, 1 Dec 2022 16:28:21 +0800 Subject: [PATCH 030/169] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=85=AC=E5=BC=80=E5=8F=8A=E7=A7=81=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- .../pages/modelmanage/local/modelmanage-local-create-1.vue | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue index fefcf4114..c46fe55c6 100644 --- a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue +++ b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue @@ -85,6 +85,15 @@ :placeholder="$t('modelManage.modelLabelInputTips')" @input="labelInput"> +
+
+
+ + 公开 + 私有 + +
+
@@ -93,6 +102,8 @@
+ +
@@ -220,6 +231,7 @@ export default { this.state.engine = data.engine.toString(); this.state.label = data.label; this.state.description = data.description; + this.state.isPrivate = data.isPrivate; } }).catch(err => { this.loading = false; From 3128e9d67e8a12210d26c61a7af066fd3a41e57d Mon Sep 17 00:00:00 2001 From: zouap Date: Thu, 1 Dec 2022 16:31:51 +0800 Subject: [PATCH 031/169] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=85=AC=E5=BC=80=E5=8F=8A=E7=A7=81=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- .../vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue index c46fe55c6..b0876b8ac 100644 --- a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue +++ b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue @@ -85,6 +85,7 @@ :placeholder="$t('modelManage.modelLabelInputTips')" @input="labelInput">
+
@@ -92,6 +93,7 @@ 公开 私有 +
@@ -103,7 +105,6 @@
-
From c311bad561c7821f3aaf5b7e12007e1f537f2597 Mon Sep 17 00:00:00 2001 From: zouap Date: Thu, 1 Dec 2022 16:38:01 +0800 Subject: [PATCH 032/169] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=85=AC=E5=BC=80=E5=8F=8A=E7=A7=81=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue index b0876b8ac..b3c45ff01 100644 --- a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue +++ b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue @@ -157,6 +157,7 @@ export default { const hasEndSpace = this.state.label[this.state.label.length - 1] == ' '; const list = this.state.label.trim().split(' ').filter(label => label != ''); this.state.label = list.slice(0, MAX_LABEL_COUNT).join(' ') + (hasEndSpace && list.length < MAX_LABEL_COUNT ? ' ' : ''); + this.state.isPrivate = false; }, submit() { if (!this.checkName()) { From 6fbdfdbd73aaed468a711560f1571ae02de7e694 Mon Sep 17 00:00:00 2001 From: zouap Date: Thu, 1 Dec 2022 16:43:03 +0800 Subject: [PATCH 033/169] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=85=AC=E5=BC=80=E5=8F=8A=E7=A7=81=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- .../vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue index b3c45ff01..2c3ec062b 100644 --- a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue +++ b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue @@ -90,8 +90,8 @@
- 公开 - 私有 + 公开 + 私有
@@ -157,7 +157,7 @@ export default { const hasEndSpace = this.state.label[this.state.label.length - 1] == ' '; const list = this.state.label.trim().split(' ').filter(label => label != ''); this.state.label = list.slice(0, MAX_LABEL_COUNT).join(' ') + (hasEndSpace && list.length < MAX_LABEL_COUNT ? ' ' : ''); - this.state.isPrivate = false; + this.state.isPrivate = "false"; }, submit() { if (!this.checkName()) { From 0cbbf90f9de9cbeec95d7d076882acda032dc673 Mon Sep 17 00:00:00 2001 From: zouap Date: Thu, 1 Dec 2022 16:55:12 +0800 Subject: [PATCH 034/169] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=85=AC=E5=BC=80=E5=8F=8A=E7=A7=81=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- .../pages/modelmanage/local/modelmanage-local-create-1.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue index 2c3ec062b..b8fb9058e 100644 --- a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue +++ b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue @@ -90,8 +90,8 @@
- 公开 - 私有 + 公开 + 私有
@@ -141,6 +141,7 @@ export default { engine: '0', label: '', description: '', + isPrivate : 'false', }, nameErr: false, isShowVersion: false, @@ -157,7 +158,7 @@ export default { const hasEndSpace = this.state.label[this.state.label.length - 1] == ' '; const list = this.state.label.trim().split(' ').filter(label => label != ''); this.state.label = list.slice(0, MAX_LABEL_COUNT).join(' ') + (hasEndSpace && list.length < MAX_LABEL_COUNT ? ' ' : ''); - this.state.isPrivate = "false"; + }, submit() { if (!this.checkName()) { From 00a4b5cb405826229dbc32497102dff7cc72119d Mon Sep 17 00:00:00 2001 From: zouap Date: Thu, 1 Dec 2022 17:30:06 +0800 Subject: [PATCH 035/169] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- web_src/vuepages/langs/config/en-US.js | 1 + web_src/vuepages/langs/config/zh-CN.js | 1 + 2 files changed, 2 insertions(+) diff --git a/web_src/vuepages/langs/config/en-US.js b/web_src/vuepages/langs/config/en-US.js index 0488d682d..c943bf619 100644 --- a/web_src/vuepages/langs/config/en-US.js +++ b/web_src/vuepages/langs/config/en-US.js @@ -281,6 +281,7 @@ const en = { infoModificationFailed: 'Information modify failed', deleteModelFileConfirmTips: 'Are you sure you want to delete the current model file?', modelFileDeleteFailed: 'Model file delete failed', + isPrivate:'Model Access', }, } diff --git a/web_src/vuepages/langs/config/zh-CN.js b/web_src/vuepages/langs/config/zh-CN.js index 1d915749e..3190d0a65 100644 --- a/web_src/vuepages/langs/config/zh-CN.js +++ b/web_src/vuepages/langs/config/zh-CN.js @@ -282,6 +282,7 @@ const zh = { infoModificationFailed: '信息修改失败', deleteModelFileConfirmTips: '请确认是否删除当前模型文件?', modelFileDeleteFailed: '模型文件删除失败', + isPrivate:'模型权限', }, }; From 74019d17a96ee020ba785cfd912e57ff7b3855c7 Mon Sep 17 00:00:00 2001 From: zouap Date: Thu, 1 Dec 2022 17:31:26 +0800 Subject: [PATCH 036/169] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- .../pages/modelmanage/common/modelmanage-common-detail.vue | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue b/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue index d78a4cfec..565a27bbf 100644 --- a/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue +++ b/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue @@ -51,6 +51,12 @@ +
+
{{ $t('modelManage.isPrivate') }}:
+
+
{{ state.isPrivate }}
+
+
@@ -298,6 +304,7 @@ export default { this.state._label = data.label; this.state.description = data.description || '--'; this.state._description = data.description; + this.state.isPrivate= data.isPrivate.toString(); this.state.createTime = formatDate(new Date(data.createdUnix * 1000), 'yyyy-MM-dd HH:mm:ss'); const trainTaskInfo = data.trainTaskInfo ? JSON.parse(data.trainTaskInfo) : ''; From fdf9015c37ba280ea917fd8ea6b55f11936b2671 Mon Sep 17 00:00:00 2001 From: zouap Date: Thu, 1 Dec 2022 17:41:24 +0800 Subject: [PATCH 037/169] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue b/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue index 565a27bbf..5c8b419f9 100644 --- a/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue +++ b/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue @@ -304,7 +304,7 @@ export default { this.state._label = data.label; this.state.description = data.description || '--'; this.state._description = data.description; - this.state.isPrivate= data.isPrivate.toString(); + this.state.isPrivate= data.isPrivate == true ? '私有':'公开' this.state.createTime = formatDate(new Date(data.createdUnix * 1000), 'yyyy-MM-dd HH:mm:ss'); const trainTaskInfo = data.trainTaskInfo ? JSON.parse(data.trainTaskInfo) : ''; From c713101fea0a5eab70bf7d54f58f3b76ddd68e2d Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 2 Dec 2022 10:08:30 +0800 Subject: [PATCH 038/169] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/modelmanage/index.tmpl | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/templates/repo/modelmanage/index.tmpl b/templates/repo/modelmanage/index.tmpl index 44cc5d8cc..186d5bbd5 100644 --- a/templates/repo/modelmanage/index.tmpl +++ b/templates/repo/modelmanage/index.tmpl @@ -235,6 +235,23 @@
+
+ +
+
+
+ + +
+
+
+
+ + +
+
+
+
From 881de9b7ae303f417010b478afd360febdca49c4 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 2 Dec 2022 10:13:23 +0800 Subject: [PATCH 039/169] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/modelmanage/create_online.tmpl | 17 +++++++++++++++++ templates/repo/modelmanage/index.tmpl | 18 +----------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/templates/repo/modelmanage/create_online.tmpl b/templates/repo/modelmanage/create_online.tmpl index 32503d1f0..26c3a4d31 100644 --- a/templates/repo/modelmanage/create_online.tmpl +++ b/templates/repo/modelmanage/create_online.tmpl @@ -136,6 +136,23 @@
+
+ +
+
+
+ + +
+
+
+
+ + +
+
+
+
diff --git a/templates/repo/modelmanage/index.tmpl b/templates/repo/modelmanage/index.tmpl index 186d5bbd5..ebc4b5ca1 100644 --- a/templates/repo/modelmanage/index.tmpl +++ b/templates/repo/modelmanage/index.tmpl @@ -234,23 +234,7 @@
-
-
- -
-
-
- - -
-
-
-
- - -
-
-
+
From 4e964a5d992b04ce54a5c1cdddf876e403c08538 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 2 Dec 2022 10:16:27 +0800 Subject: [PATCH 040/169] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/modelmanage/create_online.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/repo/modelmanage/create_online.tmpl b/templates/repo/modelmanage/create_online.tmpl index 26c3a4d31..dea8ab86d 100644 --- a/templates/repo/modelmanage/create_online.tmpl +++ b/templates/repo/modelmanage/create_online.tmpl @@ -137,7 +137,7 @@
- +
From c7740cf23f261870e31620eba551a0184370dd7e Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 2 Dec 2022 10:23:53 +0800 Subject: [PATCH 041/169] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- .../modelmanage/local/modelmanage-local-create-1.vue | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue index b8fb9058e..5ea2ff23a 100644 --- a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue +++ b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue @@ -88,12 +88,20 @@
-
- - 公开 - 私有 - +
+
+ + +
+
+
+
+ + +
+ +
From 39a0bd8ba28a0acba6386c5d705e92fafee14ff9 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 2 Dec 2022 10:31:54 +0800 Subject: [PATCH 042/169] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- .../vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue index 5ea2ff23a..baecf0bff 100644 --- a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue +++ b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue @@ -95,6 +95,9 @@
+ +
+
From b2c8137721a5085c813862a8ec4991edb7719a43 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 2 Dec 2022 10:47:56 +0800 Subject: [PATCH 043/169] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/modelmanage/create_online.tmpl | 4 ++-- .../pages/modelmanage/local/modelmanage-local-create-1.vue | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/templates/repo/modelmanage/create_online.tmpl b/templates/repo/modelmanage/create_online.tmpl index dea8ab86d..7169e2d7c 100644 --- a/templates/repo/modelmanage/create_online.tmpl +++ b/templates/repo/modelmanage/create_online.tmpl @@ -141,13 +141,13 @@
- +
- +
diff --git a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue index baecf0bff..ebae767e1 100644 --- a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue +++ b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue @@ -90,16 +90,16 @@
- +
- +
- +
@@ -179,6 +179,12 @@ export default { // }); return; } + var radio = document.getElementsByName("isPrivate"); + for (i=0; i Date: Fri, 2 Dec 2022 10:54:05 +0800 Subject: [PATCH 044/169] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue index ebae767e1..21560e724 100644 --- a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue +++ b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue @@ -180,7 +180,7 @@ export default { return; } var radio = document.getElementsByName("isPrivate"); - for (i=0; i Date: Fri, 2 Dec 2022 11:39:51 +0800 Subject: [PATCH 045/169] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- options/locale/locale_en-US.ini | 5 +++++ options/locale/locale_zh-CN.ini | 5 +++++ templates/repo/modelmanage/create_online.tmpl | 6 +++--- web_src/vuepages/langs/config/en-US.js | 4 +++- .../vuepages/pages/modelmanage/common/modelmanage-common-detail.vue | 2 +- .../vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue | 6 +++--- 6 files changed, 20 insertions(+), 8 deletions(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 647bdb1ad..bcb170f7a 100755 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -1305,6 +1305,11 @@ model.manage.select.engine=Select model engine model.manage.modelfile=Model file model.manage.modellabel=Model label model.manage.modeldesc=Model description +model.manage.modelaccess=Model Access +model.manage.modelaccess.public=Public +model.manage.modelaccess.private=Private +model.manage.modelaccess.setpublic=Set Public +model.manage.modelaccess.setprivate=Set Private model.manage.baseinfo=Base Information modelconvert.notcreate=No model conversion task has been created. modelconvert.importfirst1=Please import the diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index 8f9e6b664..d014878c2 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -1318,6 +1318,11 @@ model.manage.select.engine=选择模型框架 model.manage.modelfile=模型文件 model.manage.modellabel=模型标签 model.manage.modeldesc=模型描述 +model.manage.modelaccess=模型权限 +model.manage.modelaccess.public=公开 +model.manage.modelaccess.private=私有 +model.manage.modelaccess.setpublic=设为公开 +model.manage.modelaccess.setprivate=设为私有 model.manage.baseinfo=基本信息 modelconvert.notcreate=未创建过模型转换任务 modelconvert.importfirst1=请您先导入 diff --git a/templates/repo/modelmanage/create_online.tmpl b/templates/repo/modelmanage/create_online.tmpl index 7169e2d7c..968f82fc3 100644 --- a/templates/repo/modelmanage/create_online.tmpl +++ b/templates/repo/modelmanage/create_online.tmpl @@ -137,18 +137,18 @@
- +
- +
- +
diff --git a/web_src/vuepages/langs/config/en-US.js b/web_src/vuepages/langs/config/en-US.js index c943bf619..9eda16e0a 100644 --- a/web_src/vuepages/langs/config/en-US.js +++ b/web_src/vuepages/langs/config/en-US.js @@ -281,7 +281,9 @@ const en = { infoModificationFailed: 'Information modify failed', deleteModelFileConfirmTips: 'Are you sure you want to delete the current model file?', modelFileDeleteFailed: 'Model file delete failed', - isPrivate:'Model Access', + modelAccess:'Model Access', + modelAccessPublic:'Public', + modelAccessPrivate:'Private', }, } diff --git a/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue b/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue index 5c8b419f9..debc924fd 100644 --- a/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue +++ b/web_src/vuepages/pages/modelmanage/common/modelmanage-common-detail.vue @@ -304,7 +304,7 @@ export default { this.state._label = data.label; this.state.description = data.description || '--'; this.state._description = data.description; - this.state.isPrivate= data.isPrivate == true ? '私有':'公开' + this.state.isPrivate= (data.isPrivate == true ? this.$t('modelManage.modelAccessPrivate'):this.$t('modelManage.modelAccessPublic')); this.state.createTime = formatDate(new Date(data.createdUnix * 1000), 'yyyy-MM-dd HH:mm:ss'); const trainTaskInfo = data.trainTaskInfo ? JSON.parse(data.trainTaskInfo) : ''; diff --git a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue index 21560e724..eded627ca 100644 --- a/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue +++ b/web_src/vuepages/pages/modelmanage/local/modelmanage-local-create-1.vue @@ -87,11 +87,11 @@
-
+
- +
@@ -100,7 +100,7 @@
- +
From 0d4fd900299b4830c0d028594d0112b2fccecbc2 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 2 Dec 2022 11:45:03 +0800 Subject: [PATCH 046/169] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- web_src/vuepages/langs/config/zh-CN.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/web_src/vuepages/langs/config/zh-CN.js b/web_src/vuepages/langs/config/zh-CN.js index 3190d0a65..355f972c9 100644 --- a/web_src/vuepages/langs/config/zh-CN.js +++ b/web_src/vuepages/langs/config/zh-CN.js @@ -282,7 +282,9 @@ const zh = { infoModificationFailed: '信息修改失败', deleteModelFileConfirmTips: '请确认是否删除当前模型文件?', modelFileDeleteFailed: '模型文件删除失败', - isPrivate:'模型权限', + modelAccess:'模型权限', + modelAccessPublic:'公开', + modelAccessPrivate:'私有', }, }; From 6e0d31720fc2d5ee46d1f4b4c2974c4a71d740c0 Mon Sep 17 00:00:00 2001 From: zouap Date: Fri, 2 Dec 2022 11:51:48 +0800 Subject: [PATCH 047/169] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- templates/repo/cloudbrain/trainjob/show.tmpl | 17 +++++++++++++++++ templates/repo/modelarts/trainjob/show.tmpl | 17 +++++++++++++++++ .../modelmanage/common/modelmanage-common-detail.vue | 2 +- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/templates/repo/cloudbrain/trainjob/show.tmpl b/templates/repo/cloudbrain/trainjob/show.tmpl index 69bec19e7..8b788e17c 100644 --- a/templates/repo/cloudbrain/trainjob/show.tmpl +++ b/templates/repo/cloudbrain/trainjob/show.tmpl @@ -647,6 +647,23 @@
+
+
+ +
+
+
+ + +
+
+
+
+ + +
+
+