From c2ed47a7368a81b8de2e0fa24d547abb1b3c3f0e Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 13:50:14 +0800 Subject: [PATCH 01/44] add test jupyter call --- app/controllers/main_controller.rb | 19 +++++++++++++++++++ config/routes.rb | 3 +++ 2 files changed, 22 insertions(+) diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb index 0e2628c3e..5e9486277 100644 --- a/app/controllers/main_controller.rb +++ b/app/controllers/main_controller.rb @@ -2,4 +2,23 @@ class MainController < ApplicationController def index render file: 'public/react/build/index.html', :layout => false end + + + + def test_juypter + #打开tpm - juypter接口 + shixun = Shixun.find() + shixun_tomcat = edu_setting('cloud_bridge') + uri = "#{shixun_tomcat}/bridge/jupyter/get" + params = {tpiID: "tpm_#{shixun.id}", :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} + + + logger.debug "test_juypter: uri->#{uri}, params->#{params}" + + res = uri_post uri, params + + logger.info "test_juypter: #{res}" + + res.to_json + end end \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index ad4cd56d5..ec16d85fa 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -9,6 +9,9 @@ Rails.application.routes.draw do get 'auth/qq/callback', to: 'oauth/qq#create' get 'auth/failure', to: 'oauth/base#auth_failure' + + get 'test_juypter', to: 'main#test_juypter' + resources :edu_settings scope '/api' do get 'home/index' From d6d1e040847ea3efc06a7cbf0d77d257ea3996f6 Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 14:05:15 +0800 Subject: [PATCH 02/44] . --- app/controllers/main_controller.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb index 5e9486277..3fc353bdd 100644 --- a/app/controllers/main_controller.rb +++ b/app/controllers/main_controller.rb @@ -7,18 +7,18 @@ class MainController < ApplicationController def test_juypter #打开tpm - juypter接口 - shixun = Shixun.find() + shixun = Shixun.find(3575) shixun_tomcat = edu_setting('cloud_bridge') uri = "#{shixun_tomcat}/bridge/jupyter/get" params = {tpiID: "tpm_#{shixun.id}", :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} - logger.debug "test_juypter: uri->#{uri}, params->#{params}" + logger.info "test_juypter: uri->#{uri}, params->#{params}" res = uri_post uri, params logger.info "test_juypter: #{res}" - res.to_json + render plain: res.to_json end end \ No newline at end of file From 7105316c9acb02ce9e75ca021fc9ae8d5634b7c6 Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 14:14:43 +0800 Subject: [PATCH 03/44] . --- app/controllers/main_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb index 3fc353bdd..1ca65afa3 100644 --- a/app/controllers/main_controller.rb +++ b/app/controllers/main_controller.rb @@ -10,7 +10,7 @@ class MainController < ApplicationController shixun = Shixun.find(3575) shixun_tomcat = edu_setting('cloud_bridge') uri = "#{shixun_tomcat}/bridge/jupyter/get" - params = {tpiID: "tpm_#{shixun.id}", :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} + params = {tpiID: "tpm#{shixun.id}", :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} logger.info "test_juypter: uri->#{uri}, params->#{params}" From c43e9722dc0e3198649aff6081b1a141963a2fc5 Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 15:55:01 +0800 Subject: [PATCH 04/44] . --- app/controllers/jupyters_controller.rb | 43 ++++++++++++++++++++++++++ app/controllers/main_controller.rb | 19 ------------ 2 files changed, 43 insertions(+), 19 deletions(-) create mode 100644 app/controllers/jupyters_controller.rb diff --git a/app/controllers/jupyters_controller.rb b/app/controllers/jupyters_controller.rb new file mode 100644 index 000000000..25b7279fd --- /dev/null +++ b/app/controllers/jupyters_controller.rb @@ -0,0 +1,43 @@ +class JupytersController < ApplicationController + + def open + #打开tpm - juypter接口 + shixun = Shixun.find(3575) + shixun_tomcat = edu_setting('cloud_bridge') + uri = "#{shixun_tomcat}/bridge/jupyter/get" + tpiID = "tpm#{shixun.id}" + params = {tpiID: tpiID, :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} + + + logger.info "test_juypter: uri->#{uri}, params->#{params}" + + res = uri_post uri, params + + logger.info "test_juypter: #{res}" + + render plain: "https://#{res['port']}.jupyter.educoder.net/data/workspace/myshixun_#{tpiID}/01.ipynb" + end + + def open1 + ## 打开tpi + game = Game.find(0) + shixun = game.myshixun.shixun + shixun_tomcat = edu_setting('cloud_bridge') + uri = "#{shixun_tomcat}/bridge/jupyter/get" + params = {tpiID: game.myshixun.id, :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} + res = uri_post uri, params + + logger.info "test_juypter: #{res}" + + if res && res['code'].to_i != 0 + raise("实训云平台繁忙(繁忙等级:99)") + end + end + + + def test + render plain: 'test' + end + + +end \ No newline at end of file diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb index 1ca65afa3..0e2628c3e 100644 --- a/app/controllers/main_controller.rb +++ b/app/controllers/main_controller.rb @@ -2,23 +2,4 @@ class MainController < ApplicationController def index render file: 'public/react/build/index.html', :layout => false end - - - - def test_juypter - #打开tpm - juypter接口 - shixun = Shixun.find(3575) - shixun_tomcat = edu_setting('cloud_bridge') - uri = "#{shixun_tomcat}/bridge/jupyter/get" - params = {tpiID: "tpm#{shixun.id}", :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} - - - logger.info "test_juypter: uri->#{uri}, params->#{params}" - - res = uri_post uri, params - - logger.info "test_juypter: #{res}" - - render plain: res.to_json - end end \ No newline at end of file From d5446c54e064b7370e1695db1928927d026910c5 Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 15:56:56 +0800 Subject: [PATCH 05/44] . --- config/routes.rb | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/config/routes.rb b/config/routes.rb index ec16d85fa..680fe674f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -9,8 +9,14 @@ Rails.application.routes.draw do get 'auth/qq/callback', to: 'oauth/qq#create' get 'auth/failure', to: 'oauth/base#auth_failure' - - get 'test_juypter', to: 'main#test_juypter' + resources :jupyters do + collection do + get :open + get :open1 + get :test + end + end + resources :edu_settings scope '/api' do @@ -38,6 +44,9 @@ Rails.application.routes.draw do end end + + + resources :hacks, path: :problems, param: :identifier do collection do get :unpulished_list From b352ec635e52d76d9ef7c43949467ed4e1c56d21 Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 16:25:52 +0800 Subject: [PATCH 06/44] . --- app/controllers/jupyters_controller.rb | 41 ++++++++++++++++++++++++-- config/routes.rb | 1 + 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/app/controllers/jupyters_controller.rb b/app/controllers/jupyters_controller.rb index 25b7279fd..0200ee639 100644 --- a/app/controllers/jupyters_controller.rb +++ b/app/controllers/jupyters_controller.rb @@ -1,8 +1,12 @@ +require 'net/http' + class JupytersController < ApplicationController + before_action :shixun + def open #打开tpm - juypter接口 - shixun = Shixun.find(3575) + shixun = @shixun shixun_tomcat = edu_setting('cloud_bridge') uri = "#{shixun_tomcat}/bridge/jupyter/get" tpiID = "tpm#{shixun.id}" @@ -15,7 +19,7 @@ class JupytersController < ApplicationController logger.info "test_juypter: #{res}" - render plain: "https://#{res['port']}.jupyter.educoder.net/data/workspace/myshixun_#{tpiID}/01.ipynb" + render plain: "https://#{res['port']}.jupyter.educoder.net/notebooks/data/workspace/myshixun_#{tpiID}/01.ipynb" end def open1 @@ -38,6 +42,39 @@ class JupytersController < ApplicationController def test render plain: 'test' end + + def save() + # 保存01.ipy + + author_name = current_user.real_name + author_email = current_user.git_mail + message = "User submitted" + + src_url = URI("https://47519.jupyter.educoder.net/nbconvert/notebook/data/workspace/myshixun_tpm3575/01.ipynb?download=true") + response = Net::HTTP.get_response(src_url) + + if response.code != 200 + raise("获取文件内容失败:#{response.code}") + end + + content = response.body + + c = GitService.update_file(repo_path: @shixun.repo_path, + file_path: "01.ipynb", + message: message, + content: content, + author_name: author_name, + author_email: author_email) + + render plain: 'save: #{c.size}' + + end + + + private + def shixun + @shixun = Shixun.find(3575) + end end \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 680fe674f..e6258430a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -14,6 +14,7 @@ Rails.application.routes.draw do get :open get :open1 get :test + get :save end end From 989f9e809b55165c37abbb530f0f66eec1d0e62c Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 16:28:13 +0800 Subject: [PATCH 07/44] . --- app/controllers/jupyters_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/jupyters_controller.rb b/app/controllers/jupyters_controller.rb index 0200ee639..2bf8798df 100644 --- a/app/controllers/jupyters_controller.rb +++ b/app/controllers/jupyters_controller.rb @@ -53,7 +53,7 @@ class JupytersController < ApplicationController src_url = URI("https://47519.jupyter.educoder.net/nbconvert/notebook/data/workspace/myshixun_tpm3575/01.ipynb?download=true") response = Net::HTTP.get_response(src_url) - if response.code != 200 + if response.code.to_i != 200 raise("获取文件内容失败:#{response.code}") end From 7fec5efededd172b8ecd153bca475d1ca41298b1 Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 16:35:33 +0800 Subject: [PATCH 08/44] . --- app/controllers/jupyters_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/jupyters_controller.rb b/app/controllers/jupyters_controller.rb index 2bf8798df..de7d7296c 100644 --- a/app/controllers/jupyters_controller.rb +++ b/app/controllers/jupyters_controller.rb @@ -24,7 +24,7 @@ class JupytersController < ApplicationController def open1 ## 打开tpi - game = Game.find(0) + game = Game.find(2170160) shixun = game.myshixun.shixun shixun_tomcat = edu_setting('cloud_bridge') uri = "#{shixun_tomcat}/bridge/jupyter/get" From 6e955236cd09c376edf220cba32606169837668e Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 16:37:08 +0800 Subject: [PATCH 09/44] . --- app/controllers/jupyters_controller.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/controllers/jupyters_controller.rb b/app/controllers/jupyters_controller.rb index de7d7296c..1712c60be 100644 --- a/app/controllers/jupyters_controller.rb +++ b/app/controllers/jupyters_controller.rb @@ -28,7 +28,9 @@ class JupytersController < ApplicationController shixun = game.myshixun.shixun shixun_tomcat = edu_setting('cloud_bridge') uri = "#{shixun_tomcat}/bridge/jupyter/get" - params = {tpiID: game.myshixun.id, :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} + + tpiID = game.myshixun.id + params = {tpiID: tpiID, :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} res = uri_post uri, params logger.info "test_juypter: #{res}" @@ -36,6 +38,8 @@ class JupytersController < ApplicationController if res && res['code'].to_i != 0 raise("实训云平台繁忙(繁忙等级:99)") end + + render plain: "https://#{res['port']}.jupyter.educoder.net/notebooks/data/workspace/myshixun_#{tpiID}/01.ipynb" end From 413bda8dfe57b47f1af7a8be7cf00f23040d118f Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Tue, 10 Dec 2019 19:02:53 +0800 Subject: [PATCH 10/44] =?UTF-8?q?jupyter=E5=AE=9E=E8=AE=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/attachments_controller.rb | 21 ++ app/controllers/shixuns_controller.rb | 187 +++++++----------- app/models/shixun.rb | 3 + app/models/shixun_info.rb | 2 +- app/models/shixun_mirror_repository.rb | 1 + app/models/shixun_service_config.rb | 2 + app/services/shixuns/create_shixun_service.rb | 108 ++++++++++ .../shixuns/jupyter_data_sets.json.jbuilder | 7 + app/views/shixuns/settings.json.jbuilder | 1 + config/routes.rb | 9 +- ...191210070415_add_is_jupyter_for_shixuns.rb | 5 + 11 files changed, 226 insertions(+), 120 deletions(-) create mode 100644 app/services/shixuns/create_shixun_service.rb create mode 100644 app/views/shixuns/jupyter_data_sets.json.jbuilder create mode 100644 db/migrate/20191210070415_add_is_jupyter_for_shixuns.rb diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index a4ceeac09..cea5f0f77 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -43,6 +43,8 @@ class AttachmentsController < ApplicationController local_path, digest = file_save_to_local(save_path, upload_file.tempfile, ext) content_type = upload_file.content_type.presence || 'application/octet-stream' + container_id = upload_file.container_id. + container_tpe = upload_file.container_id # remote_path = file_save_to_ucloud(local_path[folder.size, local_path.size], local_path, content_type) remote_path = nil # TODO 暂时本地上传,待域名配置后方可上传至云端 @@ -68,6 +70,9 @@ class AttachmentsController < ApplicationController @attachment.author_id = current_user.id @attachment.disk_directory = month_folder @attachment.cloud_url = remote_path + @attachment.container_id = upload_file.container_id + @attachment.container_type = upload_file.container_type + @attachment.attachtype = upload_file.attachtype @attachment.save! else logger.info "文件已存在,id = #{@attachment.id}, filename = #{@attachment.filename}" @@ -91,6 +96,22 @@ class AttachmentsController < ApplicationController end end + # 多文件删除 + def destroy_files + files = Attachment.where(id: params[:id]) + begin + files.each do |file| + file_path = absolute_path(local_path(file)) + file.destroy! + delete_file(file_path) + end + render_ok + rescue => e + uid_logger_error(e.message) + tip_exception(e.message) + end + end + private def find_file @file = diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index 03fdbf97f..702d2254e 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -364,76 +364,85 @@ class ShixunsController < ApplicationController end def create - # 评测脚本的一些操作 - main_type, sub_type = params[:main_type], params[:small_type] - mirror = MirrorScript.where(:mirror_repository_id => main_type) - - identifier = generate_identifier Shixun, 8 - @shixun = Shixun.new(shixun_params) - @shixun.identifier = identifier - @shixun.user_id = current_user.id - @shixun.reset_time, @shixun.modify_time = Time.now, Time.now - - if sub_type.blank? - shixun_script = mirror.first.try(:script) - else - main_mirror = MirrorRepository.find(main_type).type_name - sub_mirror = MirrorRepository.where(id: sub_type).pluck(:type_name) - if main_mirror == "Java" && sub_mirror.include?("Mysql") - shixun_script = mirror.last.try(:script) - else - shixun_script = mirror.first.try(:script) - shixun_script = modify_shixun_script @shixun, shixun_script + @shixun = CreateShixunService.call(current_user, shixun_params, params) + end + + def update + # 镜像方面 + mirror_ids = MirrorRepository.where(id: params[:main_type]).or(id: params[:small_type]).pluck(:id) + old_mirror_ids = @shixun.shixun_mirror_repositories + .where(mirror_repository_id: params[:main_type]) + .or(mirror_repository_id: params[:small_type]).pluck(:mirror_repository_id) + new_mirror_id = (mirror_ids - old_mirror_ids).map{|id| {mirror_repository_id: id}} # 转换成数组hash方便操作 + # 服务配置方面 + service_params = service_config_params[:shixun_service_configs] + .select{|config| !old_mirror_ids.include?(config[:mirror_repository_id]) && + MirrorRepository.find(config[:mirror_repository_id]).name.present?} + begin + ActiveRecord::Base.transaction do + @shixun.update_attributes(shixun_params) + @shixun.shixun_info.update_attributes(shixun_info_params) + # 镜像变动 + @shixun.shixun_mirror_repositories.not(mirror_repository_id: old_mirror_ids).destroy_all + @shixun.shixun_mirror_repositories.create!(new_mirror_id) + # 镜像变动要更换服务配置 + @shixun.shixun_service_configs.not(mirror_repository_id: old_mirror_ids).destroy_all + @shixun.shixun_mirror_repositories.create!(service_params) end + rescue => e + uid_logger_error(e.message) + tip_exception("基本信息更新失败:#{e.message}") end + end - ActiveRecord::Base.transaction do - begin - @shixun.save! - # shixun_info关联ß - ShixunInfo.create!(shixun_id: @shixun.id, evaluate_script: shixun_script, description: params[:description]) - # 实训的公开范围 - if params[:scope_partment].present? - arr = [] - ids = School.where(:name => params[:scope_partment]).pluck(:id).uniq - ids.each do |id| - arr << { :school_id => id, :shixun_id => @shixun.id } - end - ShixunSchool.create!(arr) - end + # 实训权限设置 + def update_permission_setting + # 查找需要增删的高校id + school_id = School.where(:name => params[:scope_partment]).pluck(:id) + old_school_ids = @shixun.shixun_schools.pluck(:school_id) + school_params = (school_id - old_school_ids).map{|id| {school_id: id}} + begin + ActiveRecord::Base.transaction do + @shixun.update_attributes!(shixun_params) + @shixun.shixun_schools.not(school_id: school_id).destroy_all if school_id.present? + @shixun.shixun_schools.create!(school_params) + end + rescue => e + uid_logger_error("实训权限设置失败--------#{e.message}") + tip_exception("实训权限设置失败") + end + end - # 实训合作者 - @shixun.shixun_members.create!(user_id: current_user.id, role: 1) - - # 镜像-实训关联表 - ShixunMirrorRepository.create!(:shixun_id => @shixun.id, :mirror_repository_id => main_type.to_i) if main_type.present? - # 实训主镜像服务配置 - ShixunServiceConfig.create!(:shixun_id => @shixun.id, :mirror_repository_id => main_type.to_i) - if sub_type.present? - sub_type.each do |mirror| - ShixunMirrorRepository.create!(:shixun_id => @shixun.id, :mirror_repository_id => mirror) - # 实训子镜像服务配置 - name = MirrorRepository.find_by(id: mirror).try(:name) #查看镜像是否有名称,如果没有名称就不用服务配置 - ShixunServiceConfig.create!(:shixun_id => @shixun.id, :mirror_repository_id => mirror) if name.present? + # 实训学习页面设置 + def update_learn_setting + begin + ActiveRecord::Base.transaction do + @shixun.update_attributes!(shixun_params) + # 添加第二仓库(管理员权限) + if current_user.admin_or_business? + if params[:is_secret_repository] + add_secret_repository if @shixun.shixun_secret_repository.blank? + else + # 如果有仓库,就要删 + if @shixun.shixun_secret_repository&.repo_name + @shixun.shixun_secret_repository.lock! + GitService.delete_repository(repo_path: @shixun.shixun_secret_repository.repo_path) + @shixun.shixun_secret_repository.destroy + end end end - - # 创建版本库 - repo_path = repo_namespace(User.current.login, @shixun.identifier) - GitService.add_repository(repo_path: repo_path) - # todo: 为什么保存的时候要去除后面的.git呢?? - @shixun.update_column(:repo_name, repo_path.split(".")[0]) - - # 将实训标志为该云上实验室建立 - Laboratory.current.laboratory_shixuns.create!(shixun: @shixun, ownership: true) - rescue Exception => e - uid_logger_error(e.message) - tip_exception("实训创建失败") - raise ActiveRecord::Rollback end + rescue => e + uid_logger_error("实训学习页面设置失败--------#{e.message}") + tip_exception("实训学习页面设置失败") end end + # Jupyter数据集 + def jupyter_data_sets + @data_sets = @shixun.jupyter_data_sets + end + def apply_shixun_mirror form_params = params.permit(*%i[language runtime run_method attachment_id]) form = ApplyShixunMirrorForm.new(form_params) @@ -462,61 +471,6 @@ class ShixunsController < ApplicationController tip_exception("申请失败") end - def update - ActiveRecord::Base.transaction do - begin - @shixun.shixun_mirror_repositories.destroy_all - if params[:main_type].present? - ShixunMirrorRepository.create(:shixun_id => @shixun.id, :mirror_repository_id => params[:main_type].to_i) - end - if params[:small_type].present? - params[:small_type].each do |mirror| - ShixunMirrorRepository.create(:shixun_id => @shixun.id, :mirror_repository_id => mirror) - end - end - @shixun.update_attributes(shixun_params) - @shixun.shixun_info.update_attributes(shixun_info_params) - @shixun.shixun_schools.delete_all - # scope_partment: 高校的名称 - if params[:scope_partment].present? - arr = [] - ids = School.where(:name => params[:scope_partment]).pluck(:id).uniq - ids.each do |id| - arr << { :school_id => id, :shixun_id => @shixun.id } - end - ShixunSchool.create!(arr) - end - # 超级管理员和运营人员才能保存 中间层服务器pod信息的配置 - # 如果镜像改动了,则也需要更改 - mirror = @shixun.shixun_service_configs.map(&:mirror_repository_id).sort - new_mirror = params[:shixun_service_configs].map{|c| c[:mirror_repository_id]}.sort - if current_user.admin? || current_user.business? || (mirror != new_mirror) - @shixun.shixun_service_configs.destroy_all - service_config_params[:shixun_service_configs].each do |config| - name = MirrorRepository.find_by_id(config[:mirror_repository_id])&.name - # 不保存没有镜像的配置 - @shixun.shixun_service_configs.create!(config) if name.present? - end - end - # 添加第二仓库 - if params[:is_secret_repository] - add_secret_repository if @shixun.shixun_secret_repository.blank? - else - # 如果有仓库,就要删 - if @shixun.shixun_secret_repository&.repo_name - @shixun.shixun_secret_repository.lock! - GitService.delete_repository(repo_path: @shixun.shixun_secret_repository.repo_path) - @shixun.shixun_secret_repository.destroy - end - end - - rescue Exception => e - uid_logger_error("实训保存失败--------#{e.message}") - tip_exception("实训保存失败") - raise ActiveRecord::Rollback - end - end - end # 永久关闭实训 def close @@ -1021,7 +975,6 @@ class ShixunsController < ApplicationController private def shixun_params - raise("实训名称不能为空") if params[:shixun][:name].blank? params.require(:shixun).permit(:name, :trainee, :webssh, :can_copy, :use_scope, :vnc, :test_set_permission, :task_pass, :multi_webssh, :opening_time, :mirror_script_id, :code_hidden, :hide_code, :forbid_copy, :vnc_evaluate, :code_edit_permission) @@ -1033,8 +986,6 @@ private end def shixun_info_params - raise("实训描述不能为空") if params[:shixun_info][:description].blank? - raise("评测脚本不能为空") if params[:shixun_info][:evaluate_script].blank? params.require(:shixun_info).permit(:description, :evaluate_script) end diff --git a/app/models/shixun.rb b/app/models/shixun.rb index 0f9842739..770dd81f7 100644 --- a/app/models/shixun.rb +++ b/app/models/shixun.rb @@ -9,6 +9,7 @@ class Shixun < ApplicationRecord # webssh 0:不开启webssh;1:开启练习模式; 2:开启评测模式 # trainee 实训的难度 # vnc: VCN实训是否用于评测 + validates_presence_of :name, message: "实训名称不能为空" has_many :challenges, -> {order("challenges.position asc")}, dependent: :destroy has_many :challenge_tags, through: :challenges has_many :myshixuns, :dependent => :destroy @@ -54,6 +55,8 @@ class Shixun < ApplicationRecord has_many :laboratory_shixuns, dependent: :destroy belongs_to :laboratory, optional: true + # Jupyter数据集,附件 + has_many :jupyter_data_sets, ->{where(attachtype: 2)}, class_name: 'Attachment', as: :container, dependent: :destroy scope :search_by_name, ->(keyword) { where("name like ? or description like ? ", "%#{keyword}%", "%#{keyword}%") } diff --git a/app/models/shixun_info.rb b/app/models/shixun_info.rb index 74a49412e..e16f16537 100644 --- a/app/models/shixun_info.rb +++ b/app/models/shixun_info.rb @@ -1,7 +1,7 @@ class ShixunInfo < ApplicationRecord belongs_to :shixun validates_uniqueness_of :shixun_id - validates_presence_of :shixun_id + validates_presence_of :shixun_id, :description after_commit :create_diff_record diff --git a/app/models/shixun_mirror_repository.rb b/app/models/shixun_mirror_repository.rb index 9376aac0b..841be6bb2 100644 --- a/app/models/shixun_mirror_repository.rb +++ b/app/models/shixun_mirror_repository.rb @@ -2,4 +2,5 @@ class ShixunMirrorRepository < ApplicationRecord belongs_to :shixun belongs_to :mirror_repository validates_uniqueness_of :shixun_id, :scope => :mirror_repository_id + validates_presence_of :shixun_id, :mirror_repository_id end diff --git a/app/models/shixun_service_config.rb b/app/models/shixun_service_config.rb index 6d106fc07..4dda75a25 100644 --- a/app/models/shixun_service_config.rb +++ b/app/models/shixun_service_config.rb @@ -1,4 +1,6 @@ class ShixunServiceConfig < ApplicationRecord belongs_to :shixun belongs_to :mirror_repository + + validates_presence_of :shixun_id, :mirror_repository_id end diff --git a/app/services/shixuns/create_shixun_service.rb b/app/services/shixuns/create_shixun_service.rb new file mode 100644 index 000000000..b659584fb --- /dev/null +++ b/app/services/shixuns/create_shixun_service.rb @@ -0,0 +1,108 @@ +class CreateShixunService < ApplicationService + attr_reader :user, :params, :permit_params + + def initialize(user, permit_params, params) + @user = user + @params = params + @permit_params = permit_params + end + + def call + shixun = Shixun.new(permit_params) + identifier = Util::UUID.generate_identifier(Shixun, 8) + shixun.identifier= identifier + main_mirror = MirrorRepository.find params[:main_type] + sub_mirrors = MirrorRepository.where(id: params[:sub_type]) + begin + ActiveRecord::Base.transaction do + shixun.save! + # 获取脚本内容 + shixun_script = get_shixun_script(shixun, main_mirror, sub_mirrors) + # 创建额外信息 + ShixunInfo.new(shixun_id: shixun.id, evaluate_script: shixun_script, description: params[:description]) + # 创建合作者 + shixun.shixun_members.create!(user_id: user.id, role: 1) + # 创建镜像 + ShixunMirrorRepository.create!(:shixun_id => shixun.id, :mirror_repository_id => main_mirror.id) + # 创建主服务配置 + ShixunServiceConfig.create!(:shixun_id => shixun.id, :mirror_repository_id => main_mirror.id) + # 创建子镜像相关数据(实训镜像关联表,子镜像服务配置) + sub_mirrors.each do |sub| + ShixunMirrorRepository.create!(:shixun_id => shixun.id, :mirror_repository_id => sub.id) + # 实训子镜像服务配置 + name = sub.name #查看镜像是否有名称,如果没有名称就不用服务配置 + ShixunServiceConfig.create!(:shixun_id => shixun.id, :mirror_repository_id => sub.id) if name.present? + end + # 创建版本库 + repo_path = repo_namespace(user.login, shixun.identifier) + GitService.add_repository(repo_path: repo_path) + shixun.update_column(:repo_name, repo_path.split(".")[0]) + # 如果是云上实验室,创建相关记录 + if !Laboratory.current.main_site? + Laboratory.current.laboratory_shixuns.create!(shixun: shixun, ownership: true) + end + return shixun + end + rescue => e + uid_logger_error(e.message) + tip_exception("实训创建失败:#{e.message}") + end + end + + private + + def get_shixun_script shixun, main_mirror, sub_mirrors + if !shixun.is_jupyter? + mirror = main_type.mirror_scripts + if main_mirror.blank? + modify_shixun_script shixun, mirror.first&.(:script) + else + sub_name = sub_mirrors.pluck(:type_name) + if main_mirror.type_name == "Java" && sub_name.include?("Mysql") + mirror.last.try(:script) + else + shixun_script = mirror.first&.script + modify_shixun_script shixun, shixun_script + end + end + end + end + + def modify_shixun_script shixun, script + if script.present? + source_class_name = [] + challenge_program_name = [] + shixun.challenges.map(&:exec_path).each do |exec_path| + challenge_program_name << "\"#{exec_path}\"" + if shixun.main_mirror_name == "Java" + if exec_path.nil? || exec_path.split("src/")[1].nil? + source = "\"\"" + else + source = "\"#{exec_path.split("src/")[1].split(".java")[0]}\"" + end + logger.info("----source: #{source}") + source_class_name << source.gsub("/", ".") if source.present? + elsif shixun.main_mirror_name.try(:first) == "C#" + if exec_path.nil? || exec_path.split(".")[1].nil? + source = "\"\"" + else + source = "\"#{exec_path.split(".")[0]}.exe\"" + end + source_class_name << source if source.present? + end + end + script = if script.include?("sourceClassName") && script.include?("challengeProgramName") + script.gsub(/challengeProgramNames=\(.*\)/,"challengeProgramNames=\(#{challenge_program_name.reject(&:blank?).join(" ")}\)").gsub(/sourceClassNames=\(.*\)/, "sourceClassNames=\(#{source_class_name.reject(&:blank?).join(" ")}\)") + else + script.gsub(/challengeProgramNames=\(.*\)/,"challengeProgramNames=\(#{challenge_program_name.reject(&:blank?).join(" ")}\)").gsub(/sourceClassNames=\(.*\)/, "sourceClassNames=\(#{challenge_program_name.reject(&:blank?).join(" ")}\)") + end + end + return script + end + + # 版本库目录空间 + def repo_namespace(user, shixun_identifier) + "#{user.login}/#{shixun_identifier}.git" + end + +end diff --git a/app/views/shixuns/jupyter_data_sets.json.jbuilder b/app/views/shixuns/jupyter_data_sets.json.jbuilder new file mode 100644 index 000000000..103cf45be --- /dev/null +++ b/app/views/shixuns/jupyter_data_sets.json.jbuilder @@ -0,0 +1,7 @@ +json.array! @data_sets do |set| + json.id set.id + json.title set.title + json.author set.author.real_name + json.created_on set.created_on + json.filesize number_to_human_size(set.filesize) +end \ No newline at end of file diff --git a/app/views/shixuns/settings.json.jbuilder b/app/views/shixuns/settings.json.jbuilder index 3441a0a06..28c8c9848 100644 --- a/app/views/shixuns/settings.json.jbuilder +++ b/app/views/shixuns/settings.json.jbuilder @@ -2,6 +2,7 @@ json.shixun do json.status @shixun.status json.name @shixun.name json.description @shixun.description + json.is_jupyter @shixun.is_jupyter # 镜像大小类别 json.main_type @main_type diff --git a/config/routes.rb b/config/routes.rb index 59d697961..c3498adac 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -261,6 +261,9 @@ Rails.application.routes.draw do get :shixun_exec post :review_shixun get :review_newest_record + post :update_permission_setting + post :update_learn_setting + get :jupyter_data_sets end resources :challenges do @@ -744,7 +747,11 @@ Rails.application.routes.draw do resources :poll_bank_questions - resources :attachments + resources :attachments do + collection do + delete :destroy_files + end + end resources :schools do member do diff --git a/db/migrate/20191210070415_add_is_jupyter_for_shixuns.rb b/db/migrate/20191210070415_add_is_jupyter_for_shixuns.rb new file mode 100644 index 000000000..af2ae7ad4 --- /dev/null +++ b/db/migrate/20191210070415_add_is_jupyter_for_shixuns.rb @@ -0,0 +1,5 @@ +class AddIsJupyterForShixuns < ActiveRecord::Migration[5.2] + def change + add_column :shixuns, :is_jupyter, :boolean, :default => false + end +end From 784e483298579890a31ee8cf4fb344b10ff6adb1 Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 19:55:00 +0800 Subject: [PATCH 11/44] . --- app/controllers/jupyters_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/jupyters_controller.rb b/app/controllers/jupyters_controller.rb index 1712c60be..37a1c3694 100644 --- a/app/controllers/jupyters_controller.rb +++ b/app/controllers/jupyters_controller.rb @@ -24,7 +24,7 @@ class JupytersController < ApplicationController def open1 ## 打开tpi - game = Game.find(2170160) + game = Game.find(2170158) shixun = game.myshixun.shixun shixun_tomcat = edu_setting('cloud_bridge') uri = "#{shixun_tomcat}/bridge/jupyter/get" From c9242139b407aa128cc068dd4b093d515d0cc385 Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 20:07:44 +0800 Subject: [PATCH 12/44] . --- app/controllers/jupyters_controller.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/controllers/jupyters_controller.rb b/app/controllers/jupyters_controller.rb index 37a1c3694..cd99b501e 100644 --- a/app/controllers/jupyters_controller.rb +++ b/app/controllers/jupyters_controller.rb @@ -39,7 +39,9 @@ class JupytersController < ApplicationController raise("实训云平台繁忙(繁忙等级:99)") end - render plain: "https://#{res['port']}.jupyter.educoder.net/notebooks/data/workspace/myshixun_#{tpiID}/01.ipynb" + repo_save_path = game.myshixun.repo_save_path + + render plain: "https://#{res['port']}.jupyter.educoder.net/notebooks/data/workspace/myshixun_#{tpiID}/#{repo_save_path}/01.ipynb" end From e357ff12429b1059d84394003f6a893937dc146b Mon Sep 17 00:00:00 2001 From: guange Date: Tue, 10 Dec 2019 20:13:13 +0800 Subject: [PATCH 13/44] . --- app/models/myshixun.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/models/myshixun.rb b/app/models/myshixun.rb index 54dcf9011..7dccea3d2 100644 --- a/app/models/myshixun.rb +++ b/app/models/myshixun.rb @@ -28,6 +28,11 @@ class Myshixun < ApplicationRecord "#{self.repo_name}.git" end + + def repo_save_path + self.repo_name.split('/').last + end + def is_complete? self.status == 1 end From e5a7a4aa061c2bcd965befb2b5896922bc595e98 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 09:17:50 +0800 Subject: [PATCH 14/44] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=AE=9E=E8=AE=AD?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/shixuns/create_shixun_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/shixuns/create_shixun_service.rb b/app/services/shixuns/create_shixun_service.rb index b659584fb..44f5cba3b 100644 --- a/app/services/shixuns/create_shixun_service.rb +++ b/app/services/shixuns/create_shixun_service.rb @@ -44,7 +44,7 @@ class CreateShixunService < ApplicationService return shixun end rescue => e - uid_logger_error(e.message) + Rails.logger.error(e.message) tip_exception("实训创建失败:#{e.message}") end end From 73c61f8377eb97579ff98ea5b9fa2f315a645c71 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 09:20:24 +0800 Subject: [PATCH 15/44] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E5=AE=9E=E8=AE=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/shixuns/create_shixun_service.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/services/shixuns/create_shixun_service.rb b/app/services/shixuns/create_shixun_service.rb index 44f5cba3b..7f511b357 100644 --- a/app/services/shixuns/create_shixun_service.rb +++ b/app/services/shixuns/create_shixun_service.rb @@ -45,7 +45,7 @@ class CreateShixunService < ApplicationService end rescue => e Rails.logger.error(e.message) - tip_exception("实训创建失败:#{e.message}") + render_error("实训创建失败:#{e.message}") end end @@ -53,7 +53,7 @@ class CreateShixunService < ApplicationService def get_shixun_script shixun, main_mirror, sub_mirrors if !shixun.is_jupyter? - mirror = main_type.mirror_scripts + mirror = main_mirror.mirror_scripts if main_mirror.blank? modify_shixun_script shixun, mirror.first&.(:script) else From b887f08e9a077c03a8a09c3f2b7b217f7eeeafaf Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 09:24:25 +0800 Subject: [PATCH 16/44] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E5=AE=9E=E8=AE=AD?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/shixuns_controller.rb | 5 ++ app/services/shixuns/create_shixun_service.rb | 61 +++++++++---------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index 702d2254e..f5c951836 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -364,7 +364,12 @@ class ShixunsController < ApplicationController end def create + begin @shixun = CreateShixunService.call(current_user, shixun_params, params) + rescue => e + logger_error("shixun_create_error: #{e.message}") + tip_exception("创建实训失败!") + end end def update diff --git a/app/services/shixuns/create_shixun_service.rb b/app/services/shixuns/create_shixun_service.rb index 7f511b357..cf40c55ab 100644 --- a/app/services/shixuns/create_shixun_service.rb +++ b/app/services/shixuns/create_shixun_service.rb @@ -13,39 +13,34 @@ class CreateShixunService < ApplicationService shixun.identifier= identifier main_mirror = MirrorRepository.find params[:main_type] sub_mirrors = MirrorRepository.where(id: params[:sub_type]) - begin - ActiveRecord::Base.transaction do - shixun.save! - # 获取脚本内容 - shixun_script = get_shixun_script(shixun, main_mirror, sub_mirrors) - # 创建额外信息 - ShixunInfo.new(shixun_id: shixun.id, evaluate_script: shixun_script, description: params[:description]) - # 创建合作者 - shixun.shixun_members.create!(user_id: user.id, role: 1) - # 创建镜像 - ShixunMirrorRepository.create!(:shixun_id => shixun.id, :mirror_repository_id => main_mirror.id) - # 创建主服务配置 - ShixunServiceConfig.create!(:shixun_id => shixun.id, :mirror_repository_id => main_mirror.id) - # 创建子镜像相关数据(实训镜像关联表,子镜像服务配置) - sub_mirrors.each do |sub| - ShixunMirrorRepository.create!(:shixun_id => shixun.id, :mirror_repository_id => sub.id) - # 实训子镜像服务配置 - name = sub.name #查看镜像是否有名称,如果没有名称就不用服务配置 - ShixunServiceConfig.create!(:shixun_id => shixun.id, :mirror_repository_id => sub.id) if name.present? - end - # 创建版本库 - repo_path = repo_namespace(user.login, shixun.identifier) - GitService.add_repository(repo_path: repo_path) - shixun.update_column(:repo_name, repo_path.split(".")[0]) - # 如果是云上实验室,创建相关记录 - if !Laboratory.current.main_site? - Laboratory.current.laboratory_shixuns.create!(shixun: shixun, ownership: true) - end - return shixun + ActiveRecord::Base.transaction do + shixun.save! + # 获取脚本内容 + shixun_script = get_shixun_script(shixun, main_mirror, sub_mirrors) + # 创建额外信息 + ShixunInfo.new(shixun_id: shixun.id, evaluate_script: shixun_script, description: params[:description]) + # 创建合作者 + shixun.shixun_members.create!(user_id: user.id, role: 1) + # 创建镜像 + ShixunMirrorRepository.create!(:shixun_id => shixun.id, :mirror_repository_id => main_mirror.id) + # 创建主服务配置 + ShixunServiceConfig.create!(:shixun_id => shixun.id, :mirror_repository_id => main_mirror.id) + # 创建子镜像相关数据(实训镜像关联表,子镜像服务配置) + sub_mirrors.each do |sub| + ShixunMirrorRepository.create!(:shixun_id => shixun.id, :mirror_repository_id => sub.id) + # 实训子镜像服务配置 + name = sub.name #查看镜像是否有名称,如果没有名称就不用服务配置 + ShixunServiceConfig.create!(:shixun_id => shixun.id, :mirror_repository_id => sub.id) if name.present? + end + # 创建版本库 + repo_path = repo_namespace(user.login, shixun.identifier) + GitService.add_repository(repo_path: repo_path) + shixun.update_column(:repo_name, repo_path.split(".")[0]) + # 如果是云上实验室,创建相关记录 + if !Laboratory.current.main_site? + Laboratory.current.laboratory_shixuns.create!(shixun: shixun, ownership: true) end - rescue => e - Rails.logger.error(e.message) - render_error("实训创建失败:#{e.message}") + return shixun end end @@ -102,7 +97,7 @@ class CreateShixunService < ApplicationService # 版本库目录空间 def repo_namespace(user, shixun_identifier) - "#{user.login}/#{shixun_identifier}.git" + "#{user}/#{shixun_identifier}.git" end end From 41f2210fcd0893b7d7ab0a92680d7d7f7804b66f Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 09:27:40 +0800 Subject: [PATCH 17/44] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=AE=9E=E8=AE=AD?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/shixuns_controller.rb | 2 +- app/services/shixuns/create_shixun_service.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index f5c951836..e49057a5e 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -365,7 +365,7 @@ class ShixunsController < ApplicationController def create begin - @shixun = CreateShixunService.call(current_user, shixun_params, params) + @shixun = CreateShixunService.call(current_user, shixun_params, params) rescue => e logger_error("shixun_create_error: #{e.message}") tip_exception("创建实训失败!") diff --git a/app/services/shixuns/create_shixun_service.rb b/app/services/shixuns/create_shixun_service.rb index cf40c55ab..921b41931 100644 --- a/app/services/shixuns/create_shixun_service.rb +++ b/app/services/shixuns/create_shixun_service.rb @@ -11,6 +11,7 @@ class CreateShixunService < ApplicationService shixun = Shixun.new(permit_params) identifier = Util::UUID.generate_identifier(Shixun, 8) shixun.identifier= identifier + shixun.user_id = user.id main_mirror = MirrorRepository.find params[:main_type] sub_mirrors = MirrorRepository.where(id: params[:sub_type]) ActiveRecord::Base.transaction do From 540ffaa57cf438f1bf678f31aef7615c4adcec3f Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 09:30:43 +0800 Subject: [PATCH 18/44] jupyter --- app/controllers/shixuns_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index e49057a5e..f504554c3 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -982,7 +982,7 @@ private def shixun_params params.require(:shixun).permit(:name, :trainee, :webssh, :can_copy, :use_scope, :vnc, :test_set_permission, :task_pass, :multi_webssh, :opening_time, :mirror_script_id, :code_hidden, - :hide_code, :forbid_copy, :vnc_evaluate, :code_edit_permission) + :hide_code, :forbid_copy, :vnc_evaluate, :code_edit_permission, :is_jupyter) end def validate_review_shixun_params From 18dbbe54a1377dba3a4fc9dc4293457e98ed39e9 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 09:33:46 +0800 Subject: [PATCH 19/44] =?UTF-8?q?=E6=8F=8F=E8=BF=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/shixuns/create_shixun_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/shixuns/create_shixun_service.rb b/app/services/shixuns/create_shixun_service.rb index 921b41931..aa9968f5b 100644 --- a/app/services/shixuns/create_shixun_service.rb +++ b/app/services/shixuns/create_shixun_service.rb @@ -19,7 +19,7 @@ class CreateShixunService < ApplicationService # 获取脚本内容 shixun_script = get_shixun_script(shixun, main_mirror, sub_mirrors) # 创建额外信息 - ShixunInfo.new(shixun_id: shixun.id, evaluate_script: shixun_script, description: params[:description]) + ShixunInfo.create!(shixun_id: shixun.id, evaluate_script: shixun_script, description: params[:description]) # 创建合作者 shixun.shixun_members.create!(user_id: user.id, role: 1) # 创建镜像 From 95a6f08bf2a846ef37ee0f56627e20ca954168d4 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 09:52:18 +0800 Subject: [PATCH 20/44] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/shixuns_controller.rb | 30 +++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index f504554c3..4a0b56f17 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -374,10 +374,10 @@ class ShixunsController < ApplicationController def update # 镜像方面 - mirror_ids = MirrorRepository.where(id: params[:main_type]).or(id: params[:small_type]).pluck(:id) + mirror_ids = MirrorRepository.where(id: params[:main_type]).or( MirrorRepository.where(id: params[:small_type])).pluck(:id) old_mirror_ids = @shixun.shixun_mirror_repositories .where(mirror_repository_id: params[:main_type]) - .or(mirror_repository_id: params[:small_type]).pluck(:mirror_repository_id) + .or(@shixun.shixun_mirror_repositories.where(mirror_repository_id: params[:small_type])).pluck(:mirror_repository_id) new_mirror_id = (mirror_ids - old_mirror_ids).map{|id| {mirror_repository_id: id}} # 转换成数组hash方便操作 # 服务配置方面 service_params = service_config_params[:shixun_service_configs] @@ -393,6 +393,19 @@ class ShixunsController < ApplicationController # 镜像变动要更换服务配置 @shixun.shixun_service_configs.not(mirror_repository_id: old_mirror_ids).destroy_all @shixun.shixun_mirror_repositories.create!(service_params) + # 添加第二仓库(管理员权限) + if current_user.admin_or_business? + if params[:is_secret_repository] + add_secret_repository if @shixun.shixun_secret_repository.blank? + else + # 如果有仓库,就要删 + if @shixun.shixun_secret_repository&.repo_name + @shixun.shixun_secret_repository.lock! + GitService.delete_repository(repo_path: @shixun.shixun_secret_repository.repo_path) + @shixun.shixun_secret_repository.destroy + end + end + end end rescue => e uid_logger_error(e.message) @@ -423,19 +436,6 @@ class ShixunsController < ApplicationController begin ActiveRecord::Base.transaction do @shixun.update_attributes!(shixun_params) - # 添加第二仓库(管理员权限) - if current_user.admin_or_business? - if params[:is_secret_repository] - add_secret_repository if @shixun.shixun_secret_repository.blank? - else - # 如果有仓库,就要删 - if @shixun.shixun_secret_repository&.repo_name - @shixun.shixun_secret_repository.lock! - GitService.delete_repository(repo_path: @shixun.shixun_secret_repository.repo_path) - @shixun.shixun_secret_repository.destroy - end - end - end end rescue => e uid_logger_error("实训学习页面设置失败--------#{e.message}") From 1ab92f9e0fd9777bb03807f3f99b629bb8c1fec7 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 09:54:36 +0800 Subject: [PATCH 21/44] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/shixuns_controller.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index 4a0b56f17..ae7f50e1c 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -388,10 +388,10 @@ class ShixunsController < ApplicationController @shixun.update_attributes(shixun_params) @shixun.shixun_info.update_attributes(shixun_info_params) # 镜像变动 - @shixun.shixun_mirror_repositories.not(mirror_repository_id: old_mirror_ids).destroy_all + @shixun.shixun_mirror_repositories.where.not(mirror_repository_id: old_mirror_ids).destroy_all @shixun.shixun_mirror_repositories.create!(new_mirror_id) # 镜像变动要更换服务配置 - @shixun.shixun_service_configs.not(mirror_repository_id: old_mirror_ids).destroy_all + @shixun.shixun_service_configs.where.not(mirror_repository_id: old_mirror_ids).destroy_all @shixun.shixun_mirror_repositories.create!(service_params) # 添加第二仓库(管理员权限) if current_user.admin_or_business? @@ -422,7 +422,7 @@ class ShixunsController < ApplicationController begin ActiveRecord::Base.transaction do @shixun.update_attributes!(shixun_params) - @shixun.shixun_schools.not(school_id: school_id).destroy_all if school_id.present? + @shixun.shixun_schools.where.not(school_id: school_id).destroy_all if school_id.present? @shixun.shixun_schools.create!(school_params) end rescue => e From 240606e7b0c01cfd398c6a8543ce16ea766cc15c Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 09:58:34 +0800 Subject: [PATCH 22/44] =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/shixuns_controller.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index ae7f50e1c..a3fa5261a 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -374,15 +374,21 @@ class ShixunsController < ApplicationController def update # 镜像方面 - mirror_ids = MirrorRepository.where(id: params[:main_type]).or( MirrorRepository.where(id: params[:small_type])).pluck(:id) + mirror_ids = MirrorRepository.where(id: params[:main_type]) + .or( MirrorRepository.where(id: params[:small_type])).pluck(:id).uniq old_mirror_ids = @shixun.shixun_mirror_repositories .where(mirror_repository_id: params[:main_type]) - .or(@shixun.shixun_mirror_repositories.where(mirror_repository_id: params[:small_type])).pluck(:mirror_repository_id) + .or(@shixun.shixun_mirror_repositories.where(mirror_repository_id: params[:small_type])) + .pluck(:mirror_repository_id).uniq new_mirror_id = (mirror_ids - old_mirror_ids).map{|id| {mirror_repository_id: id}} # 转换成数组hash方便操作 + logger.info("##########new_mirror_id: #{new_mirror_id}") + logger.info("##########new_mirror_id: #{old_mirror_ids}") + logger.info("##########mirror_ids: #{mirror_ids}") # 服务配置方面 service_params = service_config_params[:shixun_service_configs] .select{|config| !old_mirror_ids.include?(config[:mirror_repository_id]) && MirrorRepository.find(config[:mirror_repository_id]).name.present?} + logger.info("#########service_params: #{service_params}") begin ActiveRecord::Base.transaction do @shixun.update_attributes(shixun_params) From 41d8e5032a5c1243557a46e5b45f92d932ee8572 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 10:09:51 +0800 Subject: [PATCH 23/44] =?UTF-8?q?=E9=95=9C=E5=83=8F=E5=8F=98=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/shixuns_controller.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index a3fa5261a..134467d43 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -385,10 +385,13 @@ class ShixunsController < ApplicationController logger.info("##########new_mirror_id: #{old_mirror_ids}") logger.info("##########mirror_ids: #{mirror_ids}") # 服务配置方面 - service_params = service_config_params[:shixun_service_configs] + service_create_params = service_config_params[:shixun_service_configs] .select{|config| !old_mirror_ids.include?(config[:mirror_repository_id]) && MirrorRepository.find(config[:mirror_repository_id]).name.present?} - logger.info("#########service_params: #{service_params}") + service_update_params = service_config_params[:shixun_service_configs] + .select{|config| old_mirror_ids.include?(config[:mirror_repository_id])} + logger.info("#########service_create_params: #{service_create_params}") + logger.info("#########service_update_params: #{service_update_params}") begin ActiveRecord::Base.transaction do @shixun.update_attributes(shixun_params) @@ -398,7 +401,11 @@ class ShixunsController < ApplicationController @shixun.shixun_mirror_repositories.create!(new_mirror_id) # 镜像变动要更换服务配置 @shixun.shixun_service_configs.where.not(mirror_repository_id: old_mirror_ids).destroy_all - @shixun.shixun_mirror_repositories.create!(service_params) + @shixun.shixun_mirror_repositories.create!(service_create_params) + service_update_params&.map do |service| + smr = @shixun.shixun_mirror_repositories.find_by(mirror_repository_id: service[:mirror_repository_id]) + smr.update_attributes(service) + end # 添加第二仓库(管理员权限) if current_user.admin_or_business? if params[:is_secret_repository] From d7728fc91cd7181778088bffa2df894849b2db3d Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 10:15:14 +0800 Subject: [PATCH 24/44] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/shixuns_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index 134467d43..63e8c0203 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -401,9 +401,9 @@ class ShixunsController < ApplicationController @shixun.shixun_mirror_repositories.create!(new_mirror_id) # 镜像变动要更换服务配置 @shixun.shixun_service_configs.where.not(mirror_repository_id: old_mirror_ids).destroy_all - @shixun.shixun_mirror_repositories.create!(service_create_params) + @shixun.shixun_service_configs.create!(service_create_params) service_update_params&.map do |service| - smr = @shixun.shixun_mirror_repositories.find_by(mirror_repository_id: service[:mirror_repository_id]) + smr = @shixun.shixun_service_configs.find_by(mirror_repository_id: service[:mirror_repository_id]) smr.update_attributes(service) end # 添加第二仓库(管理员权限) From 049bf130783250e15581eb6b858f463c3cbc3ffc Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 10:19:40 +0800 Subject: [PATCH 25/44] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/shixuns_controller.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index 63e8c0203..b12818ec8 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -375,14 +375,14 @@ class ShixunsController < ApplicationController def update # 镜像方面 mirror_ids = MirrorRepository.where(id: params[:main_type]) - .or( MirrorRepository.where(id: params[:small_type])).pluck(:id).uniq + .or( MirrorRepository.where(id: params[:sub_type])).pluck(:id).uniq old_mirror_ids = @shixun.shixun_mirror_repositories .where(mirror_repository_id: params[:main_type]) - .or(@shixun.shixun_mirror_repositories.where(mirror_repository_id: params[:small_type])) + .or(@shixun.shixun_mirror_repositories.where(mirror_repository_id: params[:sub_type])) .pluck(:mirror_repository_id).uniq new_mirror_id = (mirror_ids - old_mirror_ids).map{|id| {mirror_repository_id: id}} # 转换成数组hash方便操作 logger.info("##########new_mirror_id: #{new_mirror_id}") - logger.info("##########new_mirror_id: #{old_mirror_ids}") + logger.info("##########old_mirror_ids: #{old_mirror_ids}") logger.info("##########mirror_ids: #{mirror_ids}") # 服务配置方面 service_create_params = service_config_params[:shixun_service_configs] From 89382f4658e44b59784bbb0bf29b600e1a54d63f Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 10:29:44 +0800 Subject: [PATCH 26/44] jupyter --- app/controllers/subjects_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/subjects_controller.rb b/app/controllers/subjects_controller.rb index 0cd57ecc8..6a9438a79 100644 --- a/app/controllers/subjects_controller.rb +++ b/app/controllers/subjects_controller.rb @@ -204,7 +204,7 @@ class SubjectsController < ApplicationController def add_shixun_to_stage identifier = generate_identifier Shixun, 8 ActiveRecord::Base.transaction do - @shixun = Shixun.create!(name: params[:name], user_id: current_user.id, identifier: identifier) + @shixun = Shixun.create!(name: params[:name], user_id: current_user.id, identifier: identifier, is_jupyter: params[:is_jupyter]) # 添加合作者 @shixun.shixun_members.create!(user_id: current_user.id, role: 1) # 创建长字段 From 4c90d1486bfe187d29b9fdf05b64919f643fe3eb Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 11:05:26 +0800 Subject: [PATCH 27/44] =?UTF-8?q?=E7=A7=81=E5=AF=86=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=BA=93=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/attachments_controller.rb | 8 +++----- ..._add_index_for_shixun_secret_repositories.rb | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 db/migrate/20191211025413_add_index_for_shixun_secret_repositories.rb diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index cea5f0f77..dd54e2aae 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -43,8 +43,6 @@ class AttachmentsController < ApplicationController local_path, digest = file_save_to_local(save_path, upload_file.tempfile, ext) content_type = upload_file.content_type.presence || 'application/octet-stream' - container_id = upload_file.container_id. - container_tpe = upload_file.container_id # remote_path = file_save_to_ucloud(local_path[folder.size, local_path.size], local_path, content_type) remote_path = nil # TODO 暂时本地上传,待域名配置后方可上传至云端 @@ -70,9 +68,9 @@ class AttachmentsController < ApplicationController @attachment.author_id = current_user.id @attachment.disk_directory = month_folder @attachment.cloud_url = remote_path - @attachment.container_id = upload_file.container_id - @attachment.container_type = upload_file.container_type - @attachment.attachtype = upload_file.attachtype + @attachment.container_id = params[:container_id] + @attachment.container_type = params[:container_type] + @attachment.attachtype = params[:attachtype] @attachment.save! else logger.info "文件已存在,id = #{@attachment.id}, filename = #{@attachment.filename}" diff --git a/db/migrate/20191211025413_add_index_for_shixun_secret_repositories.rb b/db/migrate/20191211025413_add_index_for_shixun_secret_repositories.rb new file mode 100644 index 000000000..650b821e1 --- /dev/null +++ b/db/migrate/20191211025413_add_index_for_shixun_secret_repositories.rb @@ -0,0 +1,17 @@ +class AddIndexForShixunSecretRepositories < ActiveRecord::Migration[5.2] + def change + shixun_ids = ShixunSecretRepository.pluck(:shixun_id).uniq + shixuns = Shixun.where(id: shixun_ids) + shixuns.find_each do |shixun| + id = shixun.shixun_secret_repository.id + shixun_secret_repositories = ShixunSecretRepository.where(shixun_id: shixun.id).where.not(id: id) + shixun_secret_repositories.destroy_all + end + + remove_index :shixun_secret_repositories, :shixun_id + add_index :shixun_secret_repositories, :shixun_id, unique: true + + + + end +end From 69d5fb522755b300520906f8033b672812a5456c Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 11:28:35 +0800 Subject: [PATCH 28/44] =?UTF-8?q?=E9=99=84=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/attachments_controller.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index dd54e2aae..03b0fcc33 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -68,7 +68,7 @@ class AttachmentsController < ApplicationController @attachment.author_id = current_user.id @attachment.disk_directory = month_folder @attachment.cloud_url = remote_path - @attachment.container_id = params[:container_id] + @attachment.container_id = conversion_container_id(params[:container_id], params[:container_type]) @attachment.container_type = params[:container_type] @attachment.attachtype = params[:attachtype] @attachment.save! @@ -215,4 +215,10 @@ class AttachmentsController < ApplicationController end end end + + def conversion_container_id id, type + if type == 'Shixun' + Shixun.find_by_identifier(id).id + end + end end From 74559ba1b412ccd540c661c65439215fead0d426 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 11:32:42 +0800 Subject: [PATCH 29/44] =?UTF-8?q?=E5=AE=9E=E8=AE=AD=E9=99=84=E4=BB=B6?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/attachments_controller.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index 03b0fcc33..f58fe12bf 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -217,8 +217,10 @@ class AttachmentsController < ApplicationController end def conversion_container_id id, type - if type == 'Shixun' + if id.is_a?(String) && type == 'Shixun' Shixun.find_by_identifier(id).id + else + id end end end From 9921acdf8befec9c75f0aab34eda1cc7e6c05f2f Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 11:41:10 +0800 Subject: [PATCH 30/44] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/shixuns_controller.rb | 6 +++++- .../shixuns/jupyter_data_sets.json.jbuilder | 17 ++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index b12818ec8..a3030001c 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -458,7 +458,11 @@ class ShixunsController < ApplicationController # Jupyter数据集 def jupyter_data_sets - @data_sets = @shixun.jupyter_data_sets + page = params[:page] || 1 + limit = params[:limit] || 10 + data_sets = @shixun.jupyter_data_sets + @data_count = data_sets.count + @data_sets= data_sets.page(page).per(limit) end def apply_shixun_mirror diff --git a/app/views/shixuns/jupyter_data_sets.json.jbuilder b/app/views/shixuns/jupyter_data_sets.json.jbuilder index 103cf45be..ffe419312 100644 --- a/app/views/shixuns/jupyter_data_sets.json.jbuilder +++ b/app/views/shixuns/jupyter_data_sets.json.jbuilder @@ -1,7 +1,10 @@ -json.array! @data_sets do |set| - json.id set.id - json.title set.title - json.author set.author.real_name - json.created_on set.created_on - json.filesize number_to_human_size(set.filesize) -end \ No newline at end of file +json.data_sets do + json.array! @data_sets do |set| + json.id set.id + json.title set.title + json.author set.author.real_name + json.created_on set.created_on + json.filesize number_to_human_size(set.filesize) + end +end +json.data_sets_count @data_count \ No newline at end of file From f10d342c5b5cff6d11a8d532c53428784fc96a2e Mon Sep 17 00:00:00 2001 From: guange Date: Wed, 11 Dec 2019 12:17:01 +0800 Subject: [PATCH 31/44] . --- .gitignore | 11 ++++++++ app/controllers/jupyters_controller.rb | 6 ++++- bin/bundle | 6 ++--- bin/rails | 8 +++--- bin/rake | 10 +++++--- docker-compose.yml | 35 ++++++++++++++++++++++++++ 6 files changed, 64 insertions(+), 12 deletions(-) create mode 100644 docker-compose.yml diff --git a/.gitignore b/.gitignore index ea08c700e..12dc596a6 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # Ignore bundler config. /.bundle +/bundle # Ignore lock config file *.lock @@ -70,3 +71,13 @@ vendor/bundle/ /workspace /log /public/admin +/mysql_data + + +.generators +.rakeTasks +db/bak/ +docker/ +educoder.sql +redis_data/ +Dockerfile \ No newline at end of file diff --git a/app/controllers/jupyters_controller.rb b/app/controllers/jupyters_controller.rb index cd99b501e..9e137946f 100644 --- a/app/controllers/jupyters_controller.rb +++ b/app/controllers/jupyters_controller.rb @@ -56,6 +56,8 @@ class JupytersController < ApplicationController author_email = current_user.git_mail message = "User submitted" + + #https://47526.jupyter.educoder.net/nbconvert/notebook/data/workspace/myshixun_570461/f2ef5p798r20191210163135/01.ipynb?download=true src_url = URI("https://47519.jupyter.educoder.net/nbconvert/notebook/data/workspace/myshixun_tpm3575/01.ipynb?download=true") response = Net::HTTP.get_response(src_url) @@ -73,10 +75,12 @@ class JupytersController < ApplicationController author_email: author_email) render plain: 'save: #{c.size}' - end + + + private def shixun @shixun = Shixun.find(3575) diff --git a/bin/bundle b/bin/bundle index b48d3a0d5..f19acf5b5 100644 --- a/bin/bundle +++ b/bin/bundle @@ -1,3 +1,3 @@ -#!/usr/bin/env ruby -ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) -load Gem.bin_path('bundler', 'bundle') +#!/usr/bin/env ruby +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) +load Gem.bin_path('bundler', 'bundle') diff --git a/bin/rails b/bin/rails index a017658c5..073966023 100644 --- a/bin/rails +++ b/bin/rails @@ -1,4 +1,4 @@ -#!/usr/bin/env ruby -APP_PATH = File.expand_path('../config/application', __dir__) -require_relative '../config/boot' -require 'rails/commands' +#!/usr/bin/env ruby +APP_PATH = File.expand_path('../config/application', __dir__) +require_relative '../config/boot' +require 'rails/commands' diff --git a/bin/rake b/bin/rake index 8704afdf3..2c877f116 100644 --- a/bin/rake +++ b/bin/rake @@ -1,4 +1,6 @@ -#!/usr/bin/env ruby -require_relative '../config/boot' -require 'rake' -Rake.application.run +#!/usr/bin/env ruby +require_relative '../config/boot' + + +require 'rake' +Rake.application.run diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..16f600df4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,35 @@ +version: '3' +services: + mysql: + image: mysql:5.7.17 + command: --sql-mode="" + restart: always + volumes: + - ./mysql_data/:/var/lib/mysql + ports: + - "3306:3306" + environment: + MYSQL_ROOT_PASSWORD: 123456789 + MYSQL_DATABASE: educoder + + redis: + image: redis:3.2 + container_name: redis + restart: always + ports: + - "6379:6379" + volumes: + - ./redis_data:/data + + web: + image: guange/educoder:latest + command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 4000 -b '0.0.0.0'" + stdin_open: true + tty: true + volumes: + - .:/app + ports: + - "4000:4000" + depends_on: + - mysql + - redis \ No newline at end of file From 9c9f530613544f610633caf7dbf2040dec5d7bcb Mon Sep 17 00:00:00 2001 From: guange Date: Wed, 11 Dec 2019 12:20:10 +0800 Subject: [PATCH 32/44] add sql --- educoder-2019-12-11.sql.zip | Bin 0 -> 341772 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 educoder-2019-12-11.sql.zip diff --git a/educoder-2019-12-11.sql.zip b/educoder-2019-12-11.sql.zip new file mode 100644 index 0000000000000000000000000000000000000000..410bb27882e68ba9c031d364c6eefb062cbf7a56 GIT binary patch literal 341772 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∋99dMHwfox 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

    )hm|jwI$PN6Jl5WWBtV0yC&az~oUTJo)>h_z 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 ai}e4mm1Ln|{+s0s__hMqvEW4@ApQ?Iq$+^` literal 0 HcmV?d00001 From 39cc6f83930107fb5034d3bc18bd668b1c0daf52 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 13:57:19 +0800 Subject: [PATCH 33/44] 1 --- app/views/shixuns/_top.json.jbuilder | 1 + config/routes.rb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/shixuns/_top.json.jbuilder b/app/views/shixuns/_top.json.jbuilder index ebb77ec74..358aae7f9 100644 --- a/app/views/shixuns/_top.json.jbuilder +++ b/app/views/shixuns/_top.json.jbuilder @@ -14,5 +14,6 @@ json.stu_num shixun.myshixuns_count json.experience shixun.all_score json.diffcult diff_to_s(shixun.trainee) json.score_info shixun.shixun_preference_info # todo: 这块可以改成只显示实训的平均分,不用每次都去取每种星的分数了。 +json.is_jupyter shixun.is_jupyter # 用于是否显示导航栏中的'背景知识' json.propaedeutics shixun.propaedeutics.present? diff --git a/config/routes.rb b/config/routes.rb index c3498adac..6888b5b2b 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -749,7 +749,7 @@ Rails.application.routes.draw do resources :attachments do collection do - delete :destroy_files + post :destroy_files end end From 252025c13859e08648d436674a7fe316bc6cb671 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 13:59:22 +0800 Subject: [PATCH 34/44] 1 --- config/routes.rb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/config/routes.rb b/config/routes.rb index 6888b5b2b..364fba7b8 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,6 +6,7 @@ Rails.application.routes.draw do get 'attachments/download/:id', to: 'attachments#show' get 'attachments/download/:id/:filename', to: 'attachments#show' + delete 'attachments/destroy_files', to 'attachments#destroy_files' get 'auth/qq/callback', to: 'oauth/qq#create' get 'auth/failure', to: 'oauth/base#auth_failure' @@ -747,11 +748,7 @@ Rails.application.routes.draw do resources :poll_bank_questions - resources :attachments do - collection do - post :destroy_files - end - end + resources :attachments resources :schools do member do From 6d72cb39f7341f3c67e007861a2559881aa5db29 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 13:59:41 +0800 Subject: [PATCH 35/44] 1 --- config/routes.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/routes.rb b/config/routes.rb index 364fba7b8..b1a96a6ea 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,7 +6,7 @@ Rails.application.routes.draw do get 'attachments/download/:id', to: 'attachments#show' get 'attachments/download/:id/:filename', to: 'attachments#show' - delete 'attachments/destroy_files', to 'attachments#destroy_files' + delete 'api/attachments/destroy_files', to 'attachments#destroy_files' get 'auth/qq/callback', to: 'oauth/qq#create' get 'auth/failure', to: 'oauth/base#auth_failure' From b74a090510c3777cef67d1b67c2ba9e272dd989d Mon Sep 17 00:00:00 2001 From: guange Date: Wed, 11 Dec 2019 14:02:41 +0800 Subject: [PATCH 36/44] =?UTF-8?q?=E6=B7=BB=E5=8A=A0jupyter=20url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/challenges_controller.rb | 20 ++++++++++++++++++++ app/helpers/challenges_helper.rb | 3 +++ app/views/challenges/index.json.jbuilder | 1 + 3 files changed, 24 insertions(+) diff --git a/app/controllers/challenges_controller.rb b/app/controllers/challenges_controller.rb index 0b5140743..7c46d70a1 100644 --- a/app/controllers/challenges_controller.rb +++ b/app/controllers/challenges_controller.rb @@ -13,6 +13,9 @@ class ChallengesController < ApplicationController include ShixunsHelper include ChallengesHelper + + helper_method :jupyter_url + # 新建实践题 def new @position = @shixun.challenges.count + 1 @@ -160,6 +163,23 @@ class ChallengesController < ApplicationController @shixun.increment!(:visits) end + def jupyter_url(shixun) + #打开tpm - juypter接口 + if shixun.is_jupyter? + shixun_tomcat = edu_setting('cloud_bridge') + uri = "#{shixun_tomcat}/bridge/jupyter/get" + tpiID = "tpm#{shixun.id}" + params = {tpiID: tpiID, :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} + + logger.info "test_juypter: uri->#{uri}, params->#{params}" + res = uri_post uri, params + logger.info "test_juypter: #{res}" + + return "https://#{res['port']}.jupyter.educoder.net/notebooks/data/workspace/myshixun_#{tpiID}/01.ipynb" + end + + end + def show @tab = params[:tab].nil? ? 1 : params[:tab].to_i challenge_num = @shixun.challenges_count diff --git a/app/helpers/challenges_helper.rb b/app/helpers/challenges_helper.rb index c6d05817d..fc0101dff 100644 --- a/app/helpers/challenges_helper.rb +++ b/app/helpers/challenges_helper.rb @@ -4,4 +4,7 @@ module ChallengesHelper str.gsub(/\A\r/, "\r\r") end + + + end diff --git a/app/views/challenges/index.json.jbuilder b/app/views/challenges/index.json.jbuilder index 37ce94305..80f3fb540 100644 --- a/app/views/challenges/index.json.jbuilder +++ b/app/views/challenges/index.json.jbuilder @@ -5,6 +5,7 @@ json.power @editable json.shixun_identifier @shixun.identifier json.shixun_status @shixun.status json.allow_skip @shixun.task_pass +json.jupyter_url jupyter_url(@shixun) # 列表 if @challenges.present? From 1debfd4b7b319bb56dbea28ea78d19be9e517193 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 14:04:03 +0800 Subject: [PATCH 37/44] 1 --- config/routes.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/routes.rb b/config/routes.rb index b1a96a6ea..05f38449b 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,7 +6,7 @@ Rails.application.routes.draw do get 'attachments/download/:id', to: 'attachments#show' get 'attachments/download/:id/:filename', to: 'attachments#show' - delete 'api/attachments/destroy_files', to 'attachments#destroy_files' + delete 'api/attachments/destroy_files', to: 'attachments#destroy_files' get 'auth/qq/callback', to: 'oauth/qq#create' get 'auth/failure', to: 'oauth/base#auth_failure' From a257a79093c6649d76afaf4abfd066f08730e123 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 14:07:39 +0800 Subject: [PATCH 38/44] 1 --- config/routes.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/config/routes.rb b/config/routes.rb index 05f38449b..c3498adac 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,7 +6,6 @@ Rails.application.routes.draw do get 'attachments/download/:id', to: 'attachments#show' get 'attachments/download/:id/:filename', to: 'attachments#show' - delete 'api/attachments/destroy_files', to: 'attachments#destroy_files' get 'auth/qq/callback', to: 'oauth/qq#create' get 'auth/failure', to: 'oauth/base#auth_failure' @@ -748,7 +747,11 @@ Rails.application.routes.draw do resources :poll_bank_questions - resources :attachments + resources :attachments do + collection do + delete :destroy_files + end + end resources :schools do member do From 81129940031fb926fdbd0a9c48d0c1bf8b60683a Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Wed, 11 Dec 2019 14:30:46 +0800 Subject: [PATCH 39/44] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/searchable/shixun.rb | 3 ++- app/views/challenges/index.json.jbuilder | 1 + app/views/shixuns/_shixun.json.jbuilder | 1 + app/views/users/shixuns/shared/_shixun.json.jbuilder | 3 ++- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/models/searchable/shixun.rb b/app/models/searchable/shixun.rb index c574ecb1d..359b8b4dc 100644 --- a/app/models/searchable/shixun.rb +++ b/app/models/searchable/shixun.rb @@ -52,7 +52,8 @@ module Searchable::Shixun challenges_count: challenges_count, study_count: myshixuns_count, star: averge_star, - level: shixun_level + level: shixun_level, + is_jupyter: is_jupyter } end diff --git a/app/views/challenges/index.json.jbuilder b/app/views/challenges/index.json.jbuilder index 37ce94305..0b935cead 100644 --- a/app/views/challenges/index.json.jbuilder +++ b/app/views/challenges/index.json.jbuilder @@ -4,6 +4,7 @@ json.description @shixun.description json.power @editable json.shixun_identifier @shixun.identifier json.shixun_status @shixun.status +json.is_jupyter @shixun.is_jupyter? json.allow_skip @shixun.task_pass # 列表 diff --git a/app/views/shixuns/_shixun.json.jbuilder b/app/views/shixuns/_shixun.json.jbuilder index e6dbd3115..89e8d3c62 100644 --- a/app/views/shixuns/_shixun.json.jbuilder +++ b/app/views/shixuns/_shixun.json.jbuilder @@ -13,6 +13,7 @@ json.array! shixuns do |shixun| json.identifier shixun.identifier json.name shixun.name json.status shixun.status + json.is_jupyter shixun.is_jupyter? json.power (current_user.shixun_permission(shixun)) # 现在首页只显示已发布的实训 # REDO: 局部缓存 json.tag_name @tag_name_map&.fetch(shixun.id, nil) || shixun.tag_repertoires.first.try(:name) diff --git a/app/views/users/shixuns/shared/_shixun.json.jbuilder b/app/views/users/shixuns/shared/_shixun.json.jbuilder index 8427ead58..663522e53 100644 --- a/app/views/users/shixuns/shared/_shixun.json.jbuilder +++ b/app/views/users/shixuns/shared/_shixun.json.jbuilder @@ -6,4 +6,5 @@ json.name shixun.name json.status shixun.status json.human_status shixun.human_status json.challenges_count shixun.challenges_count -json.finished_challenges_count @finished_challenges_count_map&.fetch(shixun.id, 0) || shixun.finished_challenges_count(user) \ No newline at end of file +json.finished_challenges_count @finished_challenges_count_map&.fetch(shixun.id, 0) || shixun.finished_challenges_count(user) +json.is_jupyter shixun.is_jupyter \ No newline at end of file From 843e44976f9f69cc236180590740d06126c6497d Mon Sep 17 00:00:00 2001 From: guange Date: Wed, 11 Dec 2019 14:42:14 +0800 Subject: [PATCH 40/44] jupyter url --- app/controllers/challenges_controller.rb | 19 ++----------------- app/controllers/shixuns_controller.rb | 21 +++++++++++++++++++++ app/views/challenges/index.json.jbuilder | 2 +- app/views/shixuns/settings.json.jbuilder | 3 +++ 4 files changed, 27 insertions(+), 18 deletions(-) diff --git a/app/controllers/challenges_controller.rb b/app/controllers/challenges_controller.rb index 7c46d70a1..df1a25b56 100644 --- a/app/controllers/challenges_controller.rb +++ b/app/controllers/challenges_controller.rb @@ -14,7 +14,7 @@ class ChallengesController < ApplicationController include ChallengesHelper - helper_method :jupyter_url + # 新建实践题 def new @@ -163,22 +163,7 @@ class ChallengesController < ApplicationController @shixun.increment!(:visits) end - def jupyter_url(shixun) - #打开tpm - juypter接口 - if shixun.is_jupyter? - shixun_tomcat = edu_setting('cloud_bridge') - uri = "#{shixun_tomcat}/bridge/jupyter/get" - tpiID = "tpm#{shixun.id}" - params = {tpiID: tpiID, :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} - - logger.info "test_juypter: uri->#{uri}, params->#{params}" - res = uri_post uri, params - logger.info "test_juypter: #{res}" - - return "https://#{res['port']}.jupyter.educoder.net/notebooks/data/workspace/myshixun_#{tpiID}/01.ipynb" - end - - end + def show @tab = params[:tab].nil? ? 1 : params[:tab].to_i diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index a3030001c..b410db0e2 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -24,6 +24,10 @@ class ShixunsController < ApplicationController before_action :special_allowed, only: [:send_to_course, :search_user_courses] + + + helper_method :jupyter_url + ## 获取课程列表 def index @shixuns = current_laboratory.shixuns.unhidden @@ -528,6 +532,23 @@ class ShixunsController < ApplicationController # @evaluate_scirpt = @shixun.evaluate_script || "无" end + def jupyter_url(shixun) + #打开tpm - juypter接口 + if shixun.is_jupyter? + shixun_tomcat = edu_setting('cloud_bridge') + uri = "#{shixun_tomcat}/bridge/jupyter/get" + tpiID = "tpm#{shixun.id}" + params = {tpiID: tpiID, :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} + + logger.info "test_juypter: uri->#{uri}, params->#{params}" + res = uri_post uri, params + logger.info "test_juypter: #{res}" + + return "https://#{res['port']}.jupyter.educoder.net/notebooks/data/workspace/myshixun_#{tpiID}/01.ipynb" + end + + end + # 获取脚本内容 def get_script_contents mirrir_script = MirrorScript.find(params[:script_id]) diff --git a/app/views/challenges/index.json.jbuilder b/app/views/challenges/index.json.jbuilder index 80f3fb540..cdf0ad3f2 100644 --- a/app/views/challenges/index.json.jbuilder +++ b/app/views/challenges/index.json.jbuilder @@ -5,7 +5,7 @@ json.power @editable json.shixun_identifier @shixun.identifier json.shixun_status @shixun.status json.allow_skip @shixun.task_pass -json.jupyter_url jupyter_url(@shixun) + # 列表 if @challenges.present? diff --git a/app/views/shixuns/settings.json.jbuilder b/app/views/shixuns/settings.json.jbuilder index 28c8c9848..267547431 100644 --- a/app/views/shixuns/settings.json.jbuilder +++ b/app/views/shixuns/settings.json.jbuilder @@ -42,6 +42,9 @@ json.shixun do json.(config, :cpu_limit, :lower_cpu_limit, :memory_limit, :request_limit, :mirror_repository_id) end end + + + json.jupyter_url jupyter_url(@shixun) end From 61d21be98cb525c892c77c2c3b85410418ca7e94 Mon Sep 17 00:00:00 2001 From: guange Date: Wed, 11 Dec 2019 15:11:38 +0800 Subject: [PATCH 41/44] . --- app/controllers/jupyters_controller.rb | 2 + app/controllers/shixuns_controller.rb | 18 +--- app/services/jupyter_service.rb | 115 +++++++++++++++++++++++++ app/views/shixuns/show.json.jbuilder | 2 + 4 files changed, 121 insertions(+), 16 deletions(-) create mode 100644 app/services/jupyter_service.rb diff --git a/app/controllers/jupyters_controller.rb b/app/controllers/jupyters_controller.rb index 9e137946f..5d3f05cb4 100644 --- a/app/controllers/jupyters_controller.rb +++ b/app/controllers/jupyters_controller.rb @@ -2,6 +2,8 @@ require 'net/http' class JupytersController < ApplicationController + include JupyterService + before_action :shixun def open diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index b410db0e2..ccb8ee511 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -3,6 +3,7 @@ class ShixunsController < ApplicationController include ApplicationHelper include ElasticsearchAble include CoursesHelper + include JupyterService before_action :require_login, :check_auth, except: [:download_file, :index, :menus, :show, :show_right, :ranking_list, :discusses, :collaborators, :fork_list, :propaedeutics] @@ -26,7 +27,7 @@ class ShixunsController < ApplicationController - helper_method :jupyter_url + helper_method :jupyter_url_with_shixun, :jupyter_port_with_shixun ## 获取课程列表 def index @@ -532,22 +533,7 @@ class ShixunsController < ApplicationController # @evaluate_scirpt = @shixun.evaluate_script || "无" end - def jupyter_url(shixun) - #打开tpm - juypter接口 - if shixun.is_jupyter? - shixun_tomcat = edu_setting('cloud_bridge') - uri = "#{shixun_tomcat}/bridge/jupyter/get" - tpiID = "tpm#{shixun.id}" - params = {tpiID: tpiID, :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} - logger.info "test_juypter: uri->#{uri}, params->#{params}" - res = uri_post uri, params - logger.info "test_juypter: #{res}" - - return "https://#{res['port']}.jupyter.educoder.net/notebooks/data/workspace/myshixun_#{tpiID}/01.ipynb" - end - - end # 获取脚本内容 def get_script_contents diff --git a/app/services/jupyter_service.rb b/app/services/jupyter_service.rb new file mode 100644 index 000000000..2c1e07c08 --- /dev/null +++ b/app/services/jupyter_service.rb @@ -0,0 +1,115 @@ +#coding=utf-8 + +module JupyterService + + def _open_shixun_jupyter(shixun) + if shixun.is_jupyter? + shixun_tomcat = edu_setting('cloud_bridge') + uri = "#{shixun_tomcat}/bridge/jupyter/get" + tpiID = "tpm#{shixun.id}" + params = {tpiID: tpiID, :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} + + logger.info "test_juypter: uri->#{uri}, params->#{params}" + res = uri_post uri, params + logger.info "test_juypter: #{res}" + + @shixun_jupyter_port = res['port'] + + return "https://#{res['port']}.jupyter.educoder.net/notebooks/data/workspace/myshixun_#{tpiID}/01.ipynb" + end + end + + def jupyter_url_with_shixun(shixun) + #打开tpm - juypter接口 + _open_shixun_jupyter(shixun) + end + + def jupyter_port_with_shixun(shixun) + if @shixun_jupyter_port.to_i <=0 + _open_shixun_jupyter(shixun) + end + @shixun_jupyter_port + end + + def jupyter_url_with_game(game) + ## 打开tpi + shixun = game.myshixun.shixun + + if shixun.is_jupyter? + shixun_tomcat = edu_setting('cloud_bridge') + uri = "#{shixun_tomcat}/bridge/jupyter/get" + + tpiID = game.myshixun.id + params = {tpiID: tpiID, :containers => "#{Base64.urlsafe_encode64(shixun_container_limit(shixun))}"} + res = uri_post uri, params + + logger.info "test_juypter: #{res}" + + if res && res['code'].to_i != 0 + raise("实训云平台繁忙(繁忙等级:99)") + end + + repo_save_path = game.myshixun.repo_save_path + + "https://#{res['port']}.jupyter.educoder.net/notebooks/data/workspace/myshixun_#{tpiID}/#{repo_save_path}/01.ipynb" + end + end + + + def jupyter_save_with_shixun(shixun,jupyter_port) + author_name = current_user.real_name + author_email = current_user.git_mail + message = "User submitted" + + tpiID = "tpm#{shixun.id}" + + #https://47526.jupyter.educoder.net/nbconvert/notebook/data/workspace/myshixun_570461/f2ef5p798r20191210163135/01.ipynb?download=true + src_url = URI("https://#{jupyter_port}.jupyter.educoder.net/nbconvert/notebook/data/workspace/myshixun_#{tpiID}/01.ipynb?download=true") + response = Net::HTTP.get_response(src_url) + + if response.code.to_i != 200 + raise("获取文件内容失败:#{response.code}") + end + + content = response.body + + c = GitService.update_file(repo_path: @shixun.repo_path, + file_path: "01.ipynb", + message: message, + content: content, + author_name: author_name, + author_email: author_email) + + return c.size + end + + def jupyter_save_with_game(game,jupyter_port) + author_name = current_user.real_name + author_email = current_user.git_mail + message = "User submitted" + + tpiID = game.myshixun.id + + repo_save_path = game.myshixun.repo_save_path + + src_url = URI("https://#{jupyter_port}.jupyter.educoder.net/nbconvert/notebook/data/workspace/myshixun_#{tpiID}/#{repo_save_path}/01.ipynb?download=true") + response = Net::HTTP.get_response(src_url) + + if response.code.to_i != 200 + raise("获取文件内容失败:#{response.code}") + end + + content = response.body + + c = GitService.update_file(repo_path: game.myshixun.repo_path, + file_path: "01.ipynb", + message: message, + content: content, + author_name: author_name, + author_email: author_email) + + return c.size + end + + +end \ No newline at end of file diff --git a/app/views/shixuns/show.json.jbuilder b/app/views/shixuns/show.json.jbuilder index 4a0c3ebd6..93647cda7 100644 --- a/app/views/shixuns/show.json.jbuilder +++ b/app/views/shixuns/show.json.jbuilder @@ -3,3 +3,5 @@ json.identity User.current.shixun_identity(@shixun) json.power @power json.partial! 'shixuns/top', locals: { shixun: @shixun, current_myshixun: @current_myshixun } json.secret_repository @shixun.shixun_secret_repository.present? +json.jupyter_url jupyter_url_with_shixun(@shixun) +json.jupyter_port jupyter_port_with_shixun(@shixun) \ No newline at end of file From c629717b8e25ce5dccee45833de53655d30f598f Mon Sep 17 00:00:00 2001 From: guange Date: Wed, 11 Dec 2019 15:16:27 +0800 Subject: [PATCH 42/44] . --- app/services/jupyter_service.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/services/jupyter_service.rb b/app/services/jupyter_service.rb index 2c1e07c08..038e730fc 100644 --- a/app/services/jupyter_service.rb +++ b/app/services/jupyter_service.rb @@ -11,6 +11,10 @@ module JupyterService logger.info "test_juypter: uri->#{uri}, params->#{params}" res = uri_post uri, params + if res && res['code'].to_i != 0 + raise("实训云平台繁忙(繁忙等级:99)") + end + logger.info "test_juypter: #{res}" @shixun_jupyter_port = res['port'] From 817163491816607ce43309eaec84a1b04e9d1113 Mon Sep 17 00:00:00 2001 From: guange Date: Wed, 11 Dec 2019 15:28:51 +0800 Subject: [PATCH 43/44] . --- app/controllers/shixuns_controller.rb | 5 +++++ config/routes.rb | 1 + 2 files changed, 6 insertions(+) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index ccb8ee511..bd6d50d8c 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -377,6 +377,11 @@ class ShixunsController < ApplicationController end end + # 保存jupyter到版本库 + def update_jupyter + jupyter_save_with_shixun(@shixun, params[:jupyter_port]) + end + def update # 镜像方面 mirror_ids = MirrorRepository.where(id: params[:main_type]) diff --git a/config/routes.rb b/config/routes.rb index 5aabe9b69..b7762fd39 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -242,6 +242,7 @@ Rails.application.routes.draw do end member do + post :update_jupyter post :copy get :propaedeutics get :show_right From 90ac6ffa59c92a659336eac2c7cc408d5493854c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Wed, 11 Dec 2019 17:05:15 +0800 Subject: [PATCH 44/44] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/src/modules/tpm/TPMDataset.js | 27 +++++++++++++------ .../shixunchild/shixunchildCss/Challenges.css | 1 + .../src/modules/tpm/tpmmodel/tpmmodel.css | 2 +- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/public/react/src/modules/tpm/TPMDataset.js b/public/react/src/modules/tpm/TPMDataset.js index 909883317..643118107 100644 --- a/public/react/src/modules/tpm/TPMDataset.js +++ b/public/react/src/modules/tpm/TPMDataset.js @@ -25,7 +25,7 @@ class TPMDataset extends Component { key: 'number', align: 'left', className: " font-14 wenjiantit", - width: '200px', + width: '220px', render: (text, record) => (

    {record.title} @@ -405,8 +405,7 @@ class TPMDataset extends Component {
    - { data_sets_count>0? - 全选:""} + 全选
    {data_sets_count===0? - + } + + + :