lib/dwc-archive/classification_normalizer.rb in dwc-archive-0.5.7 vs lib/dwc-archive/classification_normalizer.rb in dwc-archive-0.5.8

- old
+ new

@@ -59,11 +59,10 @@ def get_canonical_name(a_scientific_name) if R19 a_scientific_name.force_encoding('utf-8') end canonical_name = @parser.parse(a_scientific_name, :canonical_only => true) - add_name_string(a_scientific_name) add_name_string(canonical_name) unless canonical_name.to_s.empty? canonical_name.to_s.empty? ? a_scientific_name : canonical_name end def get_fields(element) @@ -94,10 +93,11 @@ def ingest_core raise RuntimeError, "Darwin Core core fields must contain taxon id and scientific name" unless (@core_fields[:id] && @core_fields[:scientificname]) @dwc.core.read do |rows| rows[0].each do |r| + add_name_string(r[@core_fields[:scientificname]]) set_scientific_name(r, @core_fields) #core has AcceptedNameUsageId if @core_fields[:acceptednameusageid] && r[@core_fields[:acceptednameusageid]] && r[@core_fields[:acceptednameusageid]] != r[@core_fields[:id]] add_synonym_from_core(@core_fields[:acceptednameusageid], r) elsif !@core_fields[:acceptednameusageid] && status_synonym?(r[@core_fields[:taxonomicstatus]]) @@ -174,10 +174,11 @@ def ingest_synonyms(extension) DarwinCore.logger_write(@dwc.object_id, "Ingesting synonyms extension") ext, fields = *extension ext.read do |rows| rows[0].each do |r| + add_name_string(r[fields[:scientificname]]) set_scientific_name(r, fields) @normalized_data[r[fields[:id]]].synonyms << SynonymNormalized.new( r[fields[:scientificname]], r[fields[:canonicalname]], fields[:taxonomicstatus] ? r[fields[:taxonomicstatus]] : nil) @@ -188,9 +189,10 @@ def ingest_vernaculars(extension) DarwinCore.logger_write(@dwc.object_id, "Ingesting vernacular names extension") ext, fields = *extension ext.read do |rows| rows[0].each do |r| + add_name_string(r[fields[:vernacularname]]) @normalized_data[r[fields[:id]]].vernacular_names << VernacularNormalized.new( r[fields[:vernacularname]], fields[:languagecode] ? r[fields[:languagecode]] : nil) add_name_string(r[fields[:vernacularname]]) end