lib/sushi_fabric/sushiApp.rb in sushi_fabric-1.2.9 vs lib/sushi_fabric/sushiApp.rb in sushi_fabric-1.3.0
- old
+ new
@@ -1,8 +1,8 @@
#!/usr/bin/env ruby
# encoding: utf-8
-# Version = '20241108-111516'
+# Version = '20241121-112242'
require 'csv'
require 'fileutils'
require 'yaml'
require 'drb/drb'
@@ -176,22 +176,28 @@
headers.each_with_index do |header, i|
sample_hash[header]=row[i]
end
sample = Sample.new
sample.key_value = sample_hash.to_s
- sample.save # skip exact-match search
data_set.samples << sample
end
data_set.md5 = data_set.md5hexdigest
- project.data_sets << data_set
- parent_data_set.data_sets << data_set if parent_data_set
- data_set.save
- if user
- user.data_sets << data_set
- user.save
- end
+ if data_set_ = DataSet.find_by_md5(data_set.md5) and data_set_.project_id == data_set.project_id
+ data_set = data_set_
+ else
+ data_set.samples.each do |sample|
+ sample.save
+ end
+ project.data_sets << data_set
+ parent_data_set.data_sets << data_set if parent_data_set
+ data_set.save
+ if user
+ user.data_sets << data_set
+ user.save
+ end
+ end
data_set.id
end
end
#module_function :save_data_set
@@ -788,25 +794,32 @@
headers.each_with_index do |header, i|
sample_hash[header]=row[i]
end
sample = Sample.new
sample.key_value = sample_hash.to_s
- sample.save # skip exact-match search
+ #sample.save # skip exact-match search
data_set.samples << sample
end
if child
data_set.child = true
end
data_set.md5 = data_set.md5hexdigest
- project.data_sets << data_set
- parent_data_set.data_sets << data_set if parent_data_set
- data_set.save
- if user
- user.data_sets << data_set
- user.save
- end
+ if data_set_ = DataSet.find_by_md5(data_set.md5) and data_set_.project_id == data_set.project_id
+ data_set = data_set_
+ else
+ data_set.samples.each do |sample|
+ sample.save
+ end
+ project.data_sets << data_set
+ parent_data_set.data_sets << data_set if parent_data_set
+ data_set.save
+ if user
+ user.data_sets << data_set
+ user.save
+ end
+ end
data_set.id
end
end
def save_parameters_in_sushi_db
if @next_dataset_id and next_dataset = DataSet.find_by_id(@next_dataset_id)