From f6538a1736a3fbf93ff4372a31fce8d7e8359612 Mon Sep 17 00:00:00 2001 From: Angel Aviel Domaoan Date: Fri, 18 Feb 2022 05:59:37 +0000 Subject: [PATCH] Fix CSV parser for subjects --- app/models/cdao/subject.rb | 14 +++++++------- db/seeds.rb | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/models/cdao/subject.rb b/app/models/cdao/subject.rb index 7065bde..9f47ae1 100644 --- a/app/models/cdao/subject.rb +++ b/app/models/cdao/subject.rb @@ -66,13 +66,13 @@ class Cdao::Subject < Cdao::Base sub5_name = names[5] sub6_name = names[6] - root = Cdao::Subject.find_or_initialize_by(name: root_name, ancestry: nil) if root_name.present? - sub1 = root.children.find_or_initialize_by(name: sub1_name) if root.present? && sub1_name.present? - sub2 = sub1.children.find_or_initialize_by(name: sub2_name) if sub1.present? && sub2_name.present? - sub3 = sub2.children.find_or_initialize_by(name: sub3_name) if sub2.present? && sub3_name.present? - sub4 = sub3.children.find_or_initialize_by(name: sub4_name) if sub3.present? && sub4_name.present? - sub5 = sub4.children.find_or_initialize_by(name: sub5_name) if sub4.present? && sub5_name.present? - sub6 = sub5.children.find_or_initialize_by(name: sub6_name) if sub5.present? && sub6_name.present? + root = Cdao::Subject.find_or_create_by(name: root_name, ancestry: nil) if root_name.present? + sub1 = root.children.find_or_create_by(name: sub1_name) if root.present? && sub1_name.present? + sub2 = sub1.children.find_or_create_by(name: sub2_name) if sub1.present? && sub2_name.present? + sub3 = sub2.children.find_or_create_by(name: sub3_name) if sub2.present? && sub3_name.present? + sub4 = sub3.children.find_or_create_by(name: sub4_name) if sub3.present? && sub4_name.present? + sub5 = sub4.children.find_or_create_by(name: sub5_name) if sub4.present? && sub5_name.present? + sub6 = sub5.children.find_or_create_by(name: sub6_name) if sub5.present? && sub6_name.present? root.descendants.each { |a| a.library_ids = [Cdao::Library.find_by(key: "JurisprudenceEncyclopedia").try(:id)] } if root.present? end diff --git a/db/seeds.rb b/db/seeds.rb index 52c20a6..3a2c878 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -68,6 +68,6 @@ Cdao::Subject.parse_csv_file(Rails.root.join("data/csvs/criminal.csv")) Cdao::Subject.parse_csv_file(Rails.root.join("data/csvs/labor.csv")) Cdao::Subject.parse_csv_file(Rails.root.join("data/csvs/taxation.csv")) -Cdao::Subject.parse_csv_file(Rails.root.join("tmp/csvs/political.csv")) -Cdao::Subject.parse_csv_file(Rails.root.join("tmp/csvs/remedial.csv")) -Cdao::Subject.parse_csv_file(Rails.root.join("tmp/csvs/legal.csv")) +Cdao::Subject.parse_csv_file(Rails.root.join("data/csvs/political.csv")) +Cdao::Subject.parse_csv_file(Rails.root.join("data/csvs/remedial.csv")) +Cdao::Subject.parse_csv_file(Rails.root.join("data/csvs/legal.csv"))