lib/dwc-archive/classification_normalizer.rb in dwc-archive-0.5.11 vs lib/dwc-archive/classification_normalizer.rb in dwc-archive-0.5.12
- old
+ new
@@ -101,11 +101,11 @@
rows[0].each do |r|
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]])
+ elsif !@core_fields[:acceptednameusageid] && @core_fields[:taxonomicstatus] && status_synonym?(r[@core_fields[:taxonomicstatus]])
add_synonym_from_core(parent_id, r)
else
taxon = @normalized_data[r[@core_fields[:id]]] ? @normalized_data[r[@core_fields[:id]]] : @normalized_data[r[@core_fields[:id]]] = DarwinCore::TaxonNormalized.new
taxon.id = r[@core_fields[:id]]
taxon.current_name = r[@core_fields[:scientificname]]
@@ -132,13 +132,13 @@
next if res == 'error'
end
end
def get_classification_path(taxon)
+ return if !taxon.classification_path.empty?
@paths_num += 1
DarwinCore.logger_write(@dwc.object_id, "Calculated %s paths" % @paths_num) if @paths_num % 10000 == 0
- return if !taxon.classification_path.empty?
current_node = {taxon.id => {}}
if DarwinCore.nil_field?(taxon.parent_id)
taxon.classification_path << taxon.current_name_canonical
taxon.classification_path_id << taxon.id
@tree.merge!(current_node)
@@ -218,6 +218,7 @@
end
end
end
end
+