cdp 0.0.7 → 0.0.8.1

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.
Files changed (5) hide show
  1. checksums.yaml +7 -0
  2. data/gemspec +1 -1
  3. data/lib/cdp.rb +19 -13
  4. data/test/test_cdp.rb +21 -2
  5. metadata +13 -17
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 06ce939ab83bdfaeebfc75a34fce46dbf5ba3d9c
4
+ data.tar.gz: 860c1c3f76fd161e372eab00ba8daef93419c7fd
5
+ SHA512:
6
+ metadata.gz: d584656c714ec20abe882df737a6b53fef4646241062aa6e4fa0a84dbb6c479eea6bf3deb97be054b0e566dea0e58601efe548be374377cf96d035dcc3bfcd1b
7
+ data.tar.gz: 25efbdda97dc4912b151c69b114a440a0c094d288a540d4237f292d60607f4f249b99fb6c03bff435988234bac2696003b999ab37954398d0d25c99b6b673e07
data/gemspec CHANGED
@@ -3,7 +3,7 @@ $:.unshift File.join(File.dirname(__FILE__),"..","lib")
3
3
 
4
4
  spec = Gem::Specification.new do |s|
5
5
  s.name = "cdp"
6
- s.version = '0.0.7'
6
+ s.version = '0.0.8.1'
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.files = ["lib/cdp.rb"] + ["gemspec"]
9
9
  s.test_file = "test/test_cdp.rb"
data/lib/cdp.rb CHANGED
@@ -34,21 +34,27 @@ module Cdp
34
34
  end
35
35
 
36
36
  # compute the experiments from the data directories and link the corresponding files
37
- def Cdp.splitFilesIntoExperiments(files,exp='exp')
38
- experiments = files.map {|f| File.basename(File.dirname(f))}.uniq.sort_by {|f| f.length}.reverse
37
+ def Cdp.splitFilesIntoExperiments(files,exp=nil)
38
+ defautExpName = 'exp'
39
+ experiments = files.map {|f| File.basename(File.dirname(f))}.uniq.sort_by {|f| f.length}.reverse
39
40
  # take the larges part of the filenames as experiment name if the files are in
40
41
  # the current directory
41
- if experiments == ["."] then
42
- n = files.map(&:size).min.times.map {|i|
43
- if files.map {|f| f[0,i-1]}.uniq.size == 1
44
- 1
45
- else
46
- nil
47
- end
48
- }.find_all {|v| not v.nil?}.size-1
49
- uniqName = files[0][0,n]
50
- uniqName = exp if uniqName.empty?
51
- experiments = [uniqName]
42
+ if exp.nil?
43
+ if [["."],[".."],[".",".."],[""]].include?(experiments) then
44
+ n = files.map(&:size).min.times.map {|i|
45
+ if files.map {|f| f[0,i-1]}.uniq.size == 1
46
+ 1
47
+ else
48
+ nil
49
+ end
50
+ }.find_all {|v| not v.nil?}.size-1
51
+ uniqName = files[0][0,n]
52
+ uniqName = defautExpName if uniqName.empty?
53
+ experiments = [uniqName]
54
+ end
55
+ experiments [defautExpName] if experiments == [".."]
56
+ else
57
+ experiments = [exp]
52
58
  end
53
59
  experimentFiles, experimentAnalyzedData = {},{}
54
60
  experiments.each {|experiment|
@@ -1,5 +1,5 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
- require 'test/unit'
2
+ require 'minitest/autorun'
3
3
  require 'cdp'
4
4
  require 'pp'
5
5
 
@@ -11,12 +11,13 @@ ICONOCEL = DATADIR + "/oceLong.nc"
11
11
  ICONICE = DATADIR + "/oce.nc"
12
12
  WEIGHTS = File.dirname(__FILE__) + "/weights.nc"
13
13
 
14
- class TestCdp < Test::Unit::TestCase
14
+ class TestCdp < Minitest::Test
15
15
  def teardown
16
16
  FileUtils.rm(WEIGHTS) if File.exist?(WEIGHTS)
17
17
  end
18
18
  def test_set_debug
19
19
  Cdp.setDebug
20
+ Cdo.debug = true
20
21
  assert_equal(Cdp::debug,true)
21
22
  Cdp.setDebug(false)
22
23
  assert_equal(Cdp::debug,false)
@@ -35,16 +36,34 @@ class TestCdp < Test::Unit::TestCase
35
36
 
36
37
  def test_splitFiles
37
38
  files = []
39
+
38
40
  files << '../A/a' << '../A/aa' << '../B/b' << '../B/bb'
39
41
  exp, exp4ana = Cdp.splitFilesIntoExperiments(files)
40
42
  assert_equal(exp['A'],['../A/a','../A/aa'])
41
43
  assert_equal(exp['B'],['../B/b','../B/bb'])
44
+
42
45
  files << 'a' << 'aa' << 'b' << 'bb'
43
46
  grid, exp, exp4ana = Cdp.splitFilesIntoExperiments(files)
44
47
  assert_equal('exp',exp.keys[0])
48
+
49
+ files.clear
50
+ files << 'a0' << 'a1' << 'ab' << 'ac'
51
+ _files = files.clone
52
+ exp, exp4ana = Cdp.splitFilesIntoExperiments(files,'a')
53
+ pp exp
54
+ assert_equal('a',exp.keys[0])
55
+ assert_equal(_files,exp.values[0])
56
+
57
+ return
45
58
  files << './a' << './aa' << './b' << './bb'
46
59
  grid, exp, exp4ana = Cdp.splitFilesIntoExperiments(files)
47
60
  assert_equal('exp',exp.keys[0])
61
+ files << '../a' << '../aa' << '../b' << '../bb'
62
+ grid, exp, exp4ana = Cdp.splitFilesIntoExperiments(files)
63
+ assert_equal('exp',exp.keys[0])
64
+ files << '../a_01' << '../a_02' << '../a_03' << '../a_04'
65
+ grid, exp, exp4ana = Cdp.splitFilesIntoExperiments(files)
66
+ assert_equal('exp',exp.keys[0])
48
67
  grid, exp, exp4ana = Cdp.splitFilesIntoExperiments(files,'test')
49
68
  assert_equal('test',exp.keys[0])
50
69
  end
metadata CHANGED
@@ -1,30 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cdp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
5
- prerelease:
4
+ version: 0.0.8.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ralf Mueller
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-27 00:00:00.000000000 Z
11
+ date: 2014-06-18 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: cdo
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  description: Climate Data Processing helpers
@@ -35,35 +32,34 @@ extra_rdoc_files:
35
32
  - README.textile
36
33
  - LICENSE
37
34
  files:
38
- - lib/cdp.rb
39
- - gemspec
40
- - README.textile
41
35
  - LICENSE
36
+ - README.textile
37
+ - gemspec
38
+ - lib/cdp.rb
42
39
  - test/test_cdp.rb
43
40
  homepage: https://github.com/Try2Code/cdp
44
41
  licenses:
45
42
  - BSD
43
+ metadata: {}
46
44
  post_install_message:
47
45
  rdoc_options: []
48
46
  require_paths:
49
47
  - lib
50
48
  required_ruby_version: !ruby/object:Gem::Requirement
51
- none: false
52
49
  requirements:
53
- - - ! '>='
50
+ - - ">="
54
51
  - !ruby/object:Gem::Version
55
52
  version: '1.9'
56
53
  required_rubygems_version: !ruby/object:Gem::Requirement
57
- none: false
58
54
  requirements:
59
- - - ! '>='
55
+ - - ">="
60
56
  - !ruby/object:Gem::Version
61
57
  version: '0'
62
58
  requirements: []
63
59
  rubyforge_project:
64
- rubygems_version: 1.8.23
60
+ rubygems_version: 2.2.2
65
61
  signing_key:
66
- specification_version: 3
67
- summary: ! '---'
62
+ specification_version: 4
63
+ summary: "---"
68
64
  test_files:
69
65
  - test/test_cdp.rb