nera 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +5 -0
- data/lib/nera.rb +1 -1
- data/lib/nera/nera_cui.rb +8 -0
- data/lib/nera/nera_db_folders.rb +4 -0
- data/lib/nera/nera_job_layer_controller.rb +31 -0
- data/test/test_nera_db_folders.rb +5 -0
- data/test/test_nera_job_layer_controller.rb +27 -2
- data/website/index.html +1 -1
- data/website/temporary/temp.html +1 -1
- metadata +2 -2
data/History.txt
CHANGED
data/lib/nera.rb
CHANGED
data/lib/nera/nera_cui.rb
CHANGED
@@ -394,6 +394,7 @@ HEADER
|
|
394
394
|
"Upload jobs",
|
395
395
|
"Download data",
|
396
396
|
"Include data",
|
397
|
+
"Show recently included jobs",
|
397
398
|
"Exit"]
|
398
399
|
jlc = NERA::JobLayerController.new( @path_db_folder)
|
399
400
|
rc = NERA::RemoteConnector.new( @path_db_folder)
|
@@ -542,6 +543,13 @@ HEADER
|
|
542
543
|
Dialog::message("Inclusion failed.")
|
543
544
|
end
|
544
545
|
return :job_layer
|
546
|
+
when "Show recently included jobs"
|
547
|
+
list = jlc.recently_included_list
|
548
|
+
Dialog::message(" * id, simulator, parameter_id, run_id, included_at")
|
549
|
+
list.each do |rec|
|
550
|
+
Dialog::message(" - #{rec[:id]}, #{rec[:simulator]}, #{rec[:parameter_id]}, #{rec[:run_id]}, #{rec[:included_at].to_s}")
|
551
|
+
end
|
552
|
+
return :job_layer
|
545
553
|
when "Exit"
|
546
554
|
return :exit
|
547
555
|
end
|
data/lib/nera/nera_db_folders.rb
CHANGED
@@ -234,6 +234,10 @@ module NERA
|
|
234
234
|
return @db_folder + "Tables/finished_jobs.yml"
|
235
235
|
end
|
236
236
|
|
237
|
+
def path_to_recently_finished_jobs_file
|
238
|
+
return @db_folder + "Tables/recently_finished_jobs.yml"
|
239
|
+
end
|
240
|
+
|
237
241
|
def path_to_hosts_yaml
|
238
242
|
return @db_folder + "Tables/hosts.yml"
|
239
243
|
end
|
@@ -164,6 +164,20 @@ module NERA
|
|
164
164
|
return true
|
165
165
|
end
|
166
166
|
|
167
|
+
# Return the array of the finished records.
|
168
|
+
# Each record is a Hash.
|
169
|
+
# Return the records which are included on the same day as the most recently included record.
|
170
|
+
def recently_included_list
|
171
|
+
recs = []
|
172
|
+
fname = @db_folders.path_to_recently_finished_jobs_file
|
173
|
+
if File.exist?( fname)
|
174
|
+
YAML.load_documents( File.open(fname,'r') ) do |obj|
|
175
|
+
recs << obj if obj
|
176
|
+
end
|
177
|
+
end
|
178
|
+
return recs
|
179
|
+
end
|
180
|
+
|
167
181
|
private
|
168
182
|
def expand_and_parse( fpath)
|
169
183
|
bz2_path = fpath.sub( /^#{@db_folders.path_to_include_layer}/, '')
|
@@ -254,10 +268,27 @@ module NERA
|
|
254
268
|
destroyed[:start_at] = jinfo[:start_at]
|
255
269
|
destroyed[:host_name] = jinfo[:host_name]
|
256
270
|
destroyed[:finish_at] = jinfo[:finish_at]
|
271
|
+
destroyed[:included_at] = DateTime.now
|
272
|
+
# append to finished_jobs.yml
|
257
273
|
File.open( @db_folders.path_to_finished_jobs_file, "a") do |io|
|
258
274
|
YAML.dump( destroyed, io)
|
259
275
|
io.flush
|
260
276
|
end
|
277
|
+
|
278
|
+
# append to recently_finished_jobs.yml
|
279
|
+
fname = @db_folders.path_to_recently_finished_jobs_file
|
280
|
+
obj = YAML.load( File.open( fname, 'r') ) if File.exist?(fname)
|
281
|
+
if obj and Date.parse(obj[:included_at].to_s) === destroyed[:included_at]
|
282
|
+
File.open( fname, 'a') do |io|
|
283
|
+
YAML.dump( destroyed, io)
|
284
|
+
io.flush
|
285
|
+
end
|
286
|
+
else
|
287
|
+
File.open( fname, 'w') do |io|
|
288
|
+
YAML.dump( destroyed, io)
|
289
|
+
io.flush
|
290
|
+
end
|
291
|
+
end
|
261
292
|
end
|
262
293
|
|
263
294
|
def remove_files( fpath)
|
@@ -205,6 +205,11 @@ class TC_NERA_DB_FOLDERS < Test::Unit::TestCase
|
|
205
205
|
assert_equal( @db_folder+"/Tables/finished_jobs.yml", p)
|
206
206
|
end
|
207
207
|
|
208
|
+
def test_path_to_recently_finished_jobs_file
|
209
|
+
p = @dbf.path_to_recently_finished_jobs_file
|
210
|
+
assert_equal( @db_folder+"/Tables/recently_finished_jobs.yml", p)
|
211
|
+
end
|
212
|
+
|
208
213
|
def test_path_to_hosts_yaml
|
209
214
|
p = @dbf.path_to_hosts_yaml
|
210
215
|
assert_equal( @db_folder+"/Tables/hosts.yml",p)
|
@@ -171,8 +171,6 @@ class TC_NERA_JOB_LAYER_CONTROLLER < Test::Unit::TestCase
|
|
171
171
|
|
172
172
|
end
|
173
173
|
|
174
|
-
|
175
|
-
|
176
174
|
def test_include_list
|
177
175
|
l = @jlc.include_list
|
178
176
|
assert_equal( 0, l.size)
|
@@ -243,4 +241,31 @@ class TC_NERA_JOB_LAYER_CONTROLLER < Test::Unit::TestCase
|
|
243
241
|
}
|
244
242
|
end
|
245
243
|
|
244
|
+
def test_recently_included_list
|
245
|
+
a = @jlc.recently_included_list
|
246
|
+
assert_equal( [] , a)
|
247
|
+
|
248
|
+
prepare_zipped_file
|
249
|
+
@jlc.include_all
|
250
|
+
|
251
|
+
a = @jlc.recently_included_list
|
252
|
+
assert_equal( 3, a.size)
|
253
|
+
assert_equal( "Ising", a[0][:simulator])
|
254
|
+
assert_equal( 1, a[0][:parameter_id])
|
255
|
+
assert_equal( 1, a[0][:run_id])
|
256
|
+
assert_equal( 1, a[0][:number_of_runs])
|
257
|
+
assert( DateTime.now === DateTime.parse(a[0][:included_at].to_s))
|
258
|
+
|
259
|
+
assert_equal( "Ising", a[1][:simulator])
|
260
|
+
assert_equal( 1, a[1][:parameter_id])
|
261
|
+
assert_equal( 2, a[1][:run_id])
|
262
|
+
assert_equal( 1, a[1][:number_of_runs])
|
263
|
+
assert( DateTime.now === DateTime.parse(a[1][:included_at].to_s))
|
264
|
+
|
265
|
+
assert_equal( "Ising", a[2][:simulator])
|
266
|
+
assert_equal( 1, a[2][:parameter_id])
|
267
|
+
assert_equal( 3, a[2][:run_id])
|
268
|
+
assert_equal( 1, a[2][:number_of_runs])
|
269
|
+
assert( DateTime.now === DateTime.parse(a[2][:included_at].to_s))
|
270
|
+
end
|
246
271
|
end
|
data/website/index.html
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
<div class="sidebar">
|
35
35
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/nera"; return false'>
|
36
36
|
<p>Get Version</p>
|
37
|
-
<a href="http://rubyforge.org/projects/nera" class="numbers">0.
|
37
|
+
<a href="http://rubyforge.org/projects/nera" class="numbers">0.7.0</a>
|
38
38
|
</div>
|
39
39
|
</div>
|
40
40
|
<h2>What</h2>
|
data/website/temporary/temp.html
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
<div class="sidebar">
|
35
35
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/nera"; return false'>
|
36
36
|
<p>Get Version</p>
|
37
|
-
<a href="http://rubyforge.org/projects/nera" class="numbers">0.
|
37
|
+
<a href="http://rubyforge.org/projects/nera" class="numbers">0.7.0</a>
|
38
38
|
</div>
|
39
39
|
</div>
|
40
40
|
<p>The database created by nera is a hierarchical database which consists of three layers.<br />
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nera
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yohsuke Murase
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-07 00:00:00 +09:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|