sushi_fabric 0.4.3 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # encoding: utf-8
3
- # Version = '20150716-161756'
3
+ # Version = '20150904-134632'
4
4
 
5
5
  require 'csv'
6
6
  require 'fileutils'
@@ -125,7 +125,7 @@ class ::String
125
125
  scan(/\[(.*)\]/).flatten.join =~ /#{tag}/
126
126
  end
127
127
  end
128
- def save_data_set(data_set_arr, headers, rows)
128
+ def save_data_set(data_set_arr, headers, rows, user=nil)
129
129
  data_set_hash = Hash[*data_set_arr]
130
130
  unless project = Project.find_by_number(data_set_hash['ProjectNumber'].to_i)
131
131
  project = Project.new
@@ -134,7 +134,9 @@ def save_data_set(data_set_arr, headers, rows)
134
134
  end
135
135
  if project = Project.find_by_number(data_set_hash['ProjectNumber'].to_i)
136
136
  data_set = DataSet.new
137
- #data_set.user = user
137
+ if user
138
+ data_set.user = user
139
+ end
138
140
  data_set.name = data_set_hash['DataSetName']
139
141
  data_set.project = project
140
142
  if parent_id = data_set_hash['ParentID'] and parent_data_set = DataSet.find_by_id(parent_id.to_i)
@@ -160,6 +162,10 @@ def save_data_set(data_set_arr, headers, rows)
160
162
  project.data_sets << data_set
161
163
  parent_data_set.data_sets << data_set if parent_data_set
162
164
  data_set.save
165
+ if user
166
+ user.data_sets << data_set
167
+ user.save
168
+ end
163
169
  end
164
170
  data_set.id
165
171
  end
@@ -186,6 +192,7 @@ class SushiApp
186
192
  attr_accessor :dataset_name
187
193
  attr_accessor :next_dataset_comment
188
194
  attr_accessor :workflow_manager
195
+ attr_accessor :current_user
189
196
  def initialize
190
197
  @gstore_dir = GSTORE_DIR
191
198
  @project = nil
@@ -229,7 +236,8 @@ class SushiApp
229
236
  end
230
237
  end
231
238
  unless NO_ROR
232
- @dataset_sushi_id = save_data_set(data_set_arr.to_a.flatten, headers, rows)
239
+ @current_user ||= nil
240
+ @dataset_sushi_id = save_data_set(data_set_arr.to_a.flatten, headers, rows, @current_user)
233
241
  end
234
242
  elsif @dataset_sushi_id
235
243
  @dataset_hash = []
@@ -512,9 +520,7 @@ rm -rf #{@scratch_dir} || exit 1
512
520
  @job_scripts << @job_script
513
521
  @result_dataset << next_dataset
514
522
  end
515
- def save_data_set(data_set_arr, headers, rows)
516
- #SushiFabric.save_data_set(data_set_arr, headers, rows, user)
517
- #=begin
523
+ def save_data_set(data_set_arr, headers, rows, user=nil)
518
524
  data_set_hash = Hash[*data_set_arr]
519
525
  unless project = Project.find_by_number(data_set_hash['ProjectNumber'].to_i)
520
526
  project = Project.new
@@ -523,7 +529,9 @@ rm -rf #{@scratch_dir} || exit 1
523
529
  end
524
530
  if project = Project.find_by_number(data_set_hash['ProjectNumber'].to_i)
525
531
  data_set = DataSet.new
526
- #data_set.user = user
532
+ if user
533
+ data_set.user = user
534
+ end
527
535
  data_set.name = data_set_hash['DataSetName']
528
536
  data_set.project = project
529
537
  if parent_id = data_set_hash['ParentID'] and parent_data_set = DataSet.find_by_id(parent_id.to_i)
@@ -549,10 +557,13 @@ rm -rf #{@scratch_dir} || exit 1
549
557
  project.data_sets << data_set
550
558
  parent_data_set.data_sets << data_set if parent_data_set
551
559
  data_set.save
560
+ if user
561
+ user.data_sets << data_set
562
+ user.save
563
+ end
552
564
  end
553
565
  data_set.id
554
566
  end
555
- #=end
556
567
  end
557
568
  def main
558
569
  ## sushi writes creates the job scripts and builds the result data set that is to be generated
@@ -604,8 +615,8 @@ rm -rf #{@scratch_dir} || exit 1
604
615
  end
605
616
  end
606
617
  unless NO_ROR
607
- #@next_dataset_id = save_data_set(data_set_arr.to_a.flatten, headers, rows, current_user)
608
- @next_dataset_id = save_data_set(data_set_arr.to_a.flatten, headers, rows)
618
+ @current_user ||= nil
619
+ @next_dataset_id = save_data_set(data_set_arr.to_a.flatten, headers, rows, @current_user)
609
620
 
610
621
  # save job and dataset relation in Sushi DB
611
622
  job_ids.each do |job_id|
@@ -1,3 +1,3 @@
1
1
  module SushiFabric
2
- VERSION = "0.4.3"
2
+ VERSION = "0.4.6"
3
3
  end
metadata CHANGED
@@ -1,57 +1,49 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: sushi_fabric
3
- version: !ruby/object:Gem::Version
4
- version: 0.4.3
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.4.6
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Functional Genomics Center Zurich
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-07-16 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2015-09-04 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: bundler
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '1.3'
22
- type: :development
23
17
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
18
+ requirement: &id001 !ruby/object:Gem::Requirement
25
19
  none: false
26
- requirements:
20
+ requirements:
27
21
  - - ~>
28
- - !ruby/object:Gem::Version
29
- version: '1.3'
30
- - !ruby/object:Gem::Dependency
31
- name: rake
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
22
+ - !ruby/object:Gem::Version
23
+ version: "1.3"
38
24
  type: :development
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: rake
39
28
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
29
+ requirement: &id002 !ruby/object:Gem::Requirement
41
30
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- description: This library provides us with the methods to submit a job cooperating
47
- with workflow manager.
48
- email:
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: "0"
35
+ type: :development
36
+ version_requirements: *id002
37
+ description: This library provides us with the methods to submit a job cooperating with workflow manager.
38
+ email:
49
39
  - masaomi.hatakeyama@fgcz.uzh.ch
50
- executables:
40
+ executables:
51
41
  - sushi_fabric
52
42
  extensions: []
43
+
53
44
  extra_rdoc_files: []
54
- files:
45
+
46
+ files:
55
47
  - .bzrignore
56
48
  - Gemfile
57
49
  - LICENSE.txt
@@ -67,29 +59,32 @@ files:
67
59
  - sample/sample_dataset.tsv
68
60
  - sample/sample_parameterset.tsv
69
61
  - sushi_fabric.gemspec
70
- homepage: ''
71
- licenses:
62
+ homepage: ""
63
+ licenses:
72
64
  - MIT
73
65
  post_install_message:
74
66
  rdoc_options: []
75
- require_paths:
67
+
68
+ require_paths:
76
69
  - lib
77
- required_ruby_version: !ruby/object:Gem::Requirement
70
+ required_ruby_version: !ruby/object:Gem::Requirement
78
71
  none: false
79
- requirements:
80
- - - ! '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- required_rubygems_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: "0"
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
77
  none: false
85
- requirements:
86
- - - ! '>='
87
- - !ruby/object:Gem::Version
88
- version: '0'
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: "0"
89
82
  requirements: []
83
+
90
84
  rubyforge_project:
91
- rubygems_version: 1.8.23.2
85
+ rubygems_version: 1.8.23
92
86
  signing_key:
93
87
  specification_version: 3
94
88
  summary: workflow manager client.
95
89
  test_files: []
90
+