From 4ac33e9e6dbb58797c5345390f7a231ce6b8ce7a Mon Sep 17 00:00:00 2001 From: yystopf Date: Thu, 13 Apr 2023 17:18:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=8D=95=E8=8E=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/init_project_topic.rake | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/tasks/init_project_topic.rake b/lib/tasks/init_project_topic.rake index df4714d1..f6fcd4b9 100644 --- a/lib/tasks/init_project_topic.rake +++ b/lib/tasks/init_project_topic.rake @@ -7,15 +7,19 @@ namespace :init_project_topic do Project.order(created_at: :desc).find_each do |p| next unless p.owner.present? next if p.project_topics.size >= 3 - languages = $gitea_client.get_repos_languages_by_owner_repo(p.owner.login, p.identifier) - topic_count = p.project_topics.size - languages.each do |k, _| - next if topic_count >= 3 - project_topic = ProjectTopic.find_or_create_by!(name: k.downcase) - project_topic_ralate = project_topic.project_topic_ralates.find_or_create_by!(project_id: p.id) - if project_topic.present? && project_topic_ralate.present? - topic_count +=1 + begin + languages = $gitea_client.get_repos_languages_by_owner_repo(p.owner.login, p.identifier) + topic_count = p.project_topics.size + languages.each do |k, _| + next if topic_count >= 3 + project_topic = ProjectTopic.find_or_create_by!(name: k.downcase) + project_topic_ralate = project_topic.project_topic_ralates.find_or_create_by!(project_id: p.id) + if project_topic.present? && project_topic_ralate.present? + topic_count +=1 + end end + rescue + next end end end