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