From 48cf92a2cf7c5cf782e861d1971a5fb6ef2989c2 Mon Sep 17 00:00:00 2001 From: xiaoxiaoqiong Date: Fri, 27 May 2022 14:19:57 +0800 Subject: [PATCH] =?UTF-8?q?rake=E5=AF=BC=E5=85=A5=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/sync_outer_repo.rake | 35 +++++++++++++++++++++++++++++++++ public/rcore-os_repo.xlsx | Bin 0 -> 15153 bytes 2 files changed, 35 insertions(+) create mode 100644 lib/tasks/sync_outer_repo.rake create mode 100644 public/rcore-os_repo.xlsx diff --git a/lib/tasks/sync_outer_repo.rake b/lib/tasks/sync_outer_repo.rake new file mode 100644 index 000000000..77073cdb6 --- /dev/null +++ b/lib/tasks/sync_outer_repo.rake @@ -0,0 +1,35 @@ +namespace :create_mulan_repository do + desc "sync outer repository to gitlink" + task sync_from_gitee: :environment do + file = ENV['file'] || "rcore-os_repo.xlsx" + user_type = ENV['type'] || "User" + doc = SimpleXlsxReader.open("#{Rails.root}/public/#{file}") + data = doc.sheets.first.rows + data.each_with_index do |row, index| + next if index == 0 + begin + user = (user_type == "User" ? User.find_by(login: row[1]) : Owner.find_by(login: row[1])) + project = user.projects.find_by(identifier: row[4]) + unless project.present? + p_category = ProjectCategory.find_or_create_by(name: row[6]) + p_language = ProjectLanguage.find_or_create_by(name: row[7].split("/")[0]) + p_license = License.find_by(name: row[8]) + + mirror_params = { + user_id: user.id, + name: row[5], + description: row[9], + repository_name: row[4], + project_category_id: p_category.id, + project_language_id: p_language.id, + clone_addr: row[10] + } + Projects::MigrateService.call(user, mirror_params) + end + puts "sync outer repository to gitlink Success repo: #{row[5]} username: #{row[0]}" + rescue Exception => e + puts "sync outer repository to gitlink Error repo: #{row[5]} username: #{row[0]}" + end + end + end +end \ No newline at end of file diff --git a/public/rcore-os_repo.xlsx b/public/rcore-os_repo.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..83ff6f5fa15dac212bdafc21f541b351d0399acb GIT binary patch literal 15153 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 literal 0 HcmV?d00001