filentory-cli 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 53fe9ba1d8dec98d862e52f0c760eb0b70ff7c71
4
- data.tar.gz: 611bd7719ad378bef60f4e367e7fcf98d89af444
3
+ metadata.gz: e8f9a1009ee774281cd518697359ce73b90af49b
4
+ data.tar.gz: ea7368238fb810c1d1f63b48adbc489eed3b4829
5
5
  SHA512:
6
- metadata.gz: 69edf28c0a232d88d7ad86e08dcd1b04fe15daeb31a966028cb5123fac122580b29047fa697dcd0a0f804314cc18c0847b80c606dbb12da59460306f85509d9c
7
- data.tar.gz: 8a1bfce969c4c435a4c8878b7e5650c280d3c0d563ee9310648cdc41996e9d53724b185acc140a4f1d6c235e08222c465f1d8f6afd6696ff80a1ae41af082fa7
6
+ metadata.gz: 768e1102552618c60f91c7642cd84d396615c751f600b6b57961d3aed77da19efaddf793bf77c9d9815edead20697618b3636452b2e69c3aea75df7db33aac13
7
+ data.tar.gz: 20b651a104470a1f881dc15c783518430eb3fce2f5210ce0c06324df975131041254c5238411ec34af6caa184128f7378073125ba3d34556b7693bec463fd128
@@ -6,13 +6,8 @@ before_script:
6
6
  rvm:
7
7
  - 2.0.0
8
8
  - 1.9.3
9
- - 2.1.2
10
- - jruby-head
11
- - jruby-19mode
12
- - rbx-2.2.3
9
+ - 2.1.5
10
+ - 2.2.3
13
11
  matrix:
14
12
  allow_failures:
15
- - rvm: jruby-head
16
- - rvm: jruby-19mode
17
- - rvm: rbx-2.2.3
18
13
  - rvm: 1.9.3
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- filentory-cli (0.4.0)
4
+ filentory-cli (0.5.0)
5
5
  exifr (~> 1.2.0)
6
6
  json_spec (~> 1.1.1)
7
7
  methadone (~> 1.7)
@@ -13,62 +13,72 @@ PATH
13
13
  GEM
14
14
  remote: https://rubygems.org/
15
15
  specs:
16
- aruba (0.6.1)
17
- childprocess (>= 0.3.6)
18
- cucumber (>= 1.1.1)
19
- rspec-expectations (>= 2.7.0)
16
+ aruba (0.11.2)
17
+ childprocess (~> 0.5.6)
18
+ contracts (~> 0.9)
19
+ cucumber (>= 1.3.19)
20
+ event-bus (~> 0.2)
21
+ ffi (~> 1.9.10)
22
+ rspec-expectations (>= 2.99)
23
+ thor (~> 0.19)
20
24
  builder (3.2.2)
21
- childprocess (0.5.5)
25
+ childprocess (0.5.8)
22
26
  ffi (~> 1.0, >= 1.0.11)
23
- cucumber (1.3.17)
27
+ contracts (0.12.0)
28
+ cucumber (2.1.0)
24
29
  builder (>= 2.1.2)
30
+ cucumber-core (~> 1.3.0)
25
31
  diff-lcs (>= 1.1.3)
26
- gherkin (~> 2.12)
32
+ gherkin3 (~> 3.1.0)
27
33
  multi_json (>= 1.7.5, < 2.0)
28
- multi_test (>= 0.1.1)
34
+ multi_test (>= 0.1.2)
35
+ cucumber-core (1.3.0)
36
+ gherkin3 (~> 3.1.0)
29
37
  diff-lcs (1.2.5)
30
38
  docile (1.1.5)
31
- exifr (1.2.0)
39
+ event-bus (0.2.1)
40
+ exifr (1.2.3.1)
32
41
  fakeweb (1.3.0)
33
- ffi (1.9.6)
34
- gherkin (2.12.2)
35
- multi_json (~> 1.3)
36
- json (1.8.1)
42
+ ffi (1.9.10)
43
+ gherkin3 (3.1.2)
44
+ json (1.8.3)
37
45
  json_spec (1.1.4)
38
46
  multi_json (~> 1.0)
39
47
  rspec (>= 2.0, < 4.0)
40
- methadone (1.8.0)
48
+ methadone (1.9.2)
41
49
  bundler
42
- minitest (5.4.3)
43
- multi_json (1.10.1)
44
- multi_test (0.1.1)
50
+ minitest (5.8.3)
51
+ mkfifo (0.1.1)
52
+ multi_json (1.11.2)
53
+ multi_test (0.1.2)
45
54
  nokogiri (1.5.11)
46
- oj (2.11.1)
47
- rack (1.5.2)
48
- rack-test (0.6.2)
55
+ oj (2.14.0)
56
+ rack (1.6.4)
57
+ rack-test (0.6.3)
49
58
  rack (>= 1.0)
50
- rake (10.3.2)
51
- rdoc (4.1.2)
52
- json (~> 1.4)
53
- rspec (3.1.0)
54
- rspec-core (~> 3.1.0)
55
- rspec-expectations (~> 3.1.0)
56
- rspec-mocks (~> 3.1.0)
57
- rspec-core (3.1.7)
58
- rspec-support (~> 3.1.0)
59
- rspec-expectations (3.1.2)
59
+ rake (10.4.2)
60
+ rdoc (4.2.0)
61
+ rspec (3.4.0)
62
+ rspec-core (~> 3.4.0)
63
+ rspec-expectations (~> 3.4.0)
64
+ rspec-mocks (~> 3.4.0)
65
+ rspec-core (3.4.1)
66
+ rspec-support (~> 3.4.0)
67
+ rspec-expectations (3.4.0)
60
68
  diff-lcs (>= 1.2.0, < 2.0)
61
- rspec-support (~> 3.1.0)
62
- rspec-mocks (3.1.3)
63
- rspec-support (~> 3.1.0)
64
- rspec-support (3.1.2)
65
- simplecov (0.9.1)
69
+ rspec-support (~> 3.4.0)
70
+ rspec-mocks (3.4.0)
71
+ diff-lcs (>= 1.2.0, < 2.0)
72
+ rspec-support (~> 3.4.0)
73
+ rspec-support (3.4.1)
74
+ simplecov (0.10.0)
66
75
  docile (~> 1.1.0)
67
- multi_json (~> 1.0)
68
- simplecov-html (~> 0.8.0)
69
- simplecov-html (0.8.0)
76
+ json (~> 1.8)
77
+ simplecov-html (~> 0.10.0)
78
+ simplecov-html (0.10.0)
70
79
  streamio-ffmpeg (1.0.0)
71
80
  string-scrub (0.0.5)
81
+ thor (0.19.1)
72
82
  xmp (0.2.0)
73
83
  nokogiri (~> 1.5.0)
74
84
 
@@ -80,8 +90,12 @@ DEPENDENCIES
80
90
  fakeweb (~> 1.3)
81
91
  filentory-cli!
82
92
  minitest
83
- rack (~> 1.5.2)
84
- rack-test (~> 0.6.2)
93
+ mkfifo
94
+ rack (~> 1.6.1)
95
+ rack-test (~> 0.6)
85
96
  rake (~> 10.3)
86
97
  rdoc
87
- simplecov (~> 0.9.1)
98
+ simplecov (~> 0.10.0)
99
+
100
+ BUNDLED WITH
101
+ 1.10.6
@@ -34,7 +34,7 @@ end
34
34
  Then(/^the image file should have metadata$/) do
35
35
  steps %Q{
36
36
  And the JSON at "files/0/2/metadata" should be a hash
37
- And the JSON at "files/0/2/metadata" should have 6 entries
37
+ And the JSON at "files/0/2/metadata" should have 7 entries
38
38
  And the JSON at "files/0/2/metadata/exif.artist" should be "Johnny Graber"
39
39
  And the JSON at "files/0/2/metadata/exif.date_time" should be "2013-11-02T18:10:43+00:00"
40
40
  }
@@ -11,6 +11,7 @@ Gem::Specification.new do |gem|
11
11
  gem.description = "A tool to create an inventory of a storage medium"
12
12
  gem.summary = "Filentory-cli is a first step to get order in a chaotic collection of storage medias."
13
13
  gem.homepage = "https://github.com/jgraber/filentory-cli"
14
+ gem.license = 'Apache License, Version 2.0'
14
15
 
15
16
  gem.files = `git ls-files`.split($/)
16
17
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -20,9 +21,10 @@ Gem::Specification.new do |gem|
20
21
  gem.add_development_dependency('aruba')
21
22
  gem.add_development_dependency('rake', '~> 10.3')
22
23
  gem.add_development_dependency('fakeweb', '~> 1.3')
23
- gem.add_development_dependency('rack', '~>1.5.2')
24
- gem.add_development_dependency('rack-test', '~> 0.6.2')
24
+ gem.add_development_dependency('rack', '~>1.6.1')
25
+ gem.add_development_dependency('rack-test', '~> 0.6')
25
26
  gem.add_development_dependency('minitest')
27
+ gem.add_development_dependency('mkfifo')
26
28
  gem.add_dependency('methadone', '~> 1.7')
27
29
  gem.add_dependency('oj', '~> 2.11')
28
30
  gem.add_dependency('json_spec', '~> 1.1.1')
@@ -30,5 +32,5 @@ Gem::Specification.new do |gem|
30
32
  gem.add_dependency('xmp', '~> 0.2.0')
31
33
  gem.add_dependency('streamio-ffmpeg', '~> 1.0.0')
32
34
  gem.add_dependency('string-scrub')
33
- gem.add_development_dependency('simplecov', '~> 0.9.1')
35
+ gem.add_development_dependency('simplecov', '~> 0.10.0')
34
36
  end
@@ -0,0 +1,4 @@
1
+ #replace the values and save this file as .filentory.yaml in your home directory
2
+
3
+ token: <Your devise authentication token>
4
+ user_email: <Your email address>
@@ -36,7 +36,7 @@ class ExifExtractor
36
36
  returnval = namespace.send(attr)#.inspect
37
37
  #puts "returnval: #{returnval}"
38
38
  answer = returnval.scrub("*")
39
- xmpValues["#{namespace_name}.#{attr}"] = answer.strip.to_s[0..250]
39
+ xmpValues["#{namespace_name}.#{attr}"] = answer.strip.to_s[0...250]
40
40
  rescue => error
41
41
  #puts error
42
42
  end
@@ -47,8 +47,9 @@ class ExifExtractor
47
47
  end
48
48
 
49
49
  def extract_exif_main_meta_data(img, xmpValues)
50
- xmpValues["exif.model"] = img.model.scrub("*").strip unless img.model.nil?
51
- xmpValues["exif.artist"] = img.artist.force_encoding('UTF-8').scrub("*").strip.to_s[0..250] unless img.artist.nil?
50
+ xmpValues["exif.model"] = cleanup_description(img.model)
51
+ xmpValues["exif.make"] = cleanup_description(img.make)
52
+ xmpValues["exif.artist"] = cleanup_description(img.artist)
52
53
  xmpValues["exif.date_time"] = format_date(img.date_time)
53
54
  xmpValues["exif.date_time_original"] = format_date(img.date_time_original)
54
55
  xmpValues["exif.width"] = img.width
@@ -57,12 +58,28 @@ class ExifExtractor
57
58
  #puts error
58
59
  end
59
60
 
61
+ def cleanup_metadata(value)
62
+ value.scrub("*").strip unless value.nil?
63
+ end
64
+
65
+ def cleanup_description(value)
66
+ cleanup_metadata(value.force_encoding('UTF-8')).to_s[0...250] unless value.nil?
67
+ end
60
68
 
61
69
  def extract_gps_infos(img, xmpValues)
62
70
  if img.gps
63
- xmpValues["exif.gps.latitude"] = img.gps.latitude
64
- xmpValues["exif.gps.longitude"] = img.gps.longitude
65
- xmpValues["exif.gps.altitude"] = img.gps.altitude
71
+
72
+ if !img.gps.latitude.nil? && !img.gps.latitude.nan? then
73
+ xmpValues["exif.gps.latitude"] = img.gps.latitude
74
+ end
75
+
76
+ if !img.gps.longitude.nil? && !img.gps.longitude.nan? then
77
+ xmpValues["exif.gps.longitude"] = img.gps.longitude
78
+ end
79
+
80
+ if !img.gps.altitude.nil? && !img.gps.altitude.nan? then
81
+ xmpValues["exif.gps.altitude"] = img.gps.altitude
82
+ end
66
83
  end
67
84
  end
68
85
 
@@ -1,3 +1,3 @@
1
1
  module Filentory
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
@@ -469,4 +469,4 @@ e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["
469
469
  $('#'+element_id).css('color', '#000000');
470
470
  }
471
471
 
472
- </script></head><body><!-- Step count 23--><div class="cucumber"><div id="cucumber-header"><div id="label"><h1>Cucumber Features</h1></div><div id="summary"><p id="totals"></p><p id="duration"></p><div id="expand-collapse"><p id="expander">Expand All</p><p id="collapser">Collapse All</p></div></div></div><div class="feature"><h2><span class="val">Feature: Filentory-cli works</span></h2><p class="narrative"></p><div class='scenario'><span class="scenario_file">features/filentory-cli.feature:3</span><h3 id="scenario_1"><span class="keyword">Scenario:</span> <span class="val">App just runs</span></h3><ol><li id='features_filentory-cli_feature_4' class='step passed'><div class="step_name"><span class="keyword">When </span><span class="step val">I get help for &quot;<span class="param">filentory-cli</span>&quot;</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:58</span></div></li> <script type="text/javascript">moveProgressBar('4.3');</script><li id='features_filentory-cli_feature_5' class='step passed'><div class="step_name"><span class="keyword">Then </span><span class="step val">the exit status should be <span class="param">0</span></span></div><div class="step_file"><span>aruba-0.6.1/lib/aruba/cucumber.rb:197</span></div></li> <script type="text/javascript">moveProgressBar('8.6');</script><li id='features_filentory-cli_feature_6' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the banner should be present</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:78</span></div></li> <script type="text/javascript">moveProgressBar('13.0');</script><li id='features_filentory-cli_feature_7' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">there should be a one line summary of what the app does</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:109</span></div></li> <script type="text/javascript">moveProgressBar('17.3');</script><li id='features_filentory-cli_feature_8' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the banner should document that this app takes options</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:82</span></div></li> <script type="text/javascript">moveProgressBar('21.7');</script><li id='features_filentory-cli_feature_9' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the following options should be documented:</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:63</span></div><table><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">--version</span></div></td></tr> <script type="text/javascript">moveProgressBar('30.4');</script><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">--type</span></div></td></tr> <script type="text/javascript">moveProgressBar('34.7');</script><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">--auth</span></div></td></tr> <script type="text/javascript">moveProgressBar('39.1');</script></table></li> <script type="text/javascript">moveProgressBar('39.1');</script><li id='features_filentory-cli_feature_13' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the banner should document that this app&#39;s arguments are:</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:87</span></div><table><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">name</span></div></td><td class="step" id="row_-1_1"><div><span class="step param"></span></div></td></tr> <script type="text/javascript">moveProgressBar('47.8');</script><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">path</span></div></td><td class="step" id="row_-1_1"><div><span class="step param"></span></div></td></tr> <script type="text/javascript">moveProgressBar('52.1');</script><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">server</span></div></td><td class="step" id="row_-1_1"><div><span class="step param">optional</span></div></td></tr> <script type="text/javascript">moveProgressBar('56.5');</script></table></li> <script type="text/javascript">moveProgressBar('56.5');</script></ol></div><div class='scenario'><span class="scenario_file">features/filentory-cli.feature:18</span><h3 id="scenario_2"><span class="keyword">Scenario:</span> <span class="val">App prints JSON</span></h3><ol><li id='features_filentory-cli_feature_19' class='step passed'><div class="step_name"><span class="keyword">When </span><span class="step val">I run &quot;<span class="param">filentory-cli</span>&quot; for the test data</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:2</span></div></li> <script type="text/javascript">moveProgressBar('60.8');</script><li id='features_filentory-cli_feature_20' class='step passed'><div class="step_name"><span class="keyword">Then </span><span class="step val">I should get JSON as output</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:6</span></div></li> <script type="text/javascript">moveProgressBar('65.2');</script><li id='features_filentory-cli_feature_21' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the &quot;<span class="param">name</span>&quot; should be &quot;<span class="param">testrun</span>&quot;</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('69.5');</script><li id='features_filentory-cli_feature_22' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the &quot;<span class="param">mediatype</span>&quot; should be &quot;<span class="param">DVD</span>&quot;</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('73.9');</script><li id='features_filentory-cli_feature_23' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">there should be <span class="param">4</span> entries in &quot;<span class="param">files</span>&quot;</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:16</span></div></li> <script type="text/javascript">moveProgressBar('78.2');</script><li id='features_filentory-cli_feature_24' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the first file should be placed in the root folder</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:20</span></div></li> <script type="text/javascript">moveProgressBar('82.6');</script><li id='features_filentory-cli_feature_25' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the second file should be in the &quot;<span class="param">folder</span>&quot;</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('86.9');</script><li id='features_filentory-cli_feature_26' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the image file should have metadata</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:34</span></div></li> <script type="text/javascript">moveProgressBar('91.3');</script><li id='features_filentory-cli_feature_27' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the video file should have metadata</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:43</span></div></li> <script type="text/javascript">moveProgressBar('95.6');</script></ol></div><div class='scenario'><span class="scenario_file">features/filentory-cli.feature:29</span><h3 id="scenario_3"><span class="keyword">Scenario:</span> <span class="val">Sending data to server</span></h3><ol><li id='features_filentory-cli_feature_30' class='step passed'><div class="step_name"><span class="keyword">When </span><span class="step val">I run &quot;<span class="param">filentory-cli</span>&quot; with a server parameter</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:51</span></div></li> <script type="text/javascript">moveProgressBar('100.0');</script><li id='features_filentory-cli_feature_31' class='step passed'><div class="step_name"><span class="keyword">Then </span><span class="step val">I should get a message that the data was send successfully</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:55</span></div></li> <script type="text/javascript">moveProgressBar('104.3');</script></ol></div><div class='scenario'><span class="scenario_file">features/filentory-cli.feature:33</span><h3 id="scenario_4"><span class="keyword">Scenario:</span> <span class="val">YAML file present while sending data to server</span></h3><ol><li id='features_filentory-cli_feature_34' class='step passed'><div class="step_name"><span class="keyword">When </span><span class="step val">I run &quot;<span class="param">filentory-cli</span>&quot; with a server parameter and a yaml file</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:67</span></div></li> <script type="text/javascript">moveProgressBar('108.6');</script><li id='features_filentory-cli_feature_35' class='step passed'><div class="step_name"><span class="keyword">Then </span><span class="step val">I should get a message that the data was send successfully</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:55</span></div></li> <script type="text/javascript">moveProgressBar('113.0');</script><li id='features_filentory-cli_feature_36' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">I should get a message that &quot;<span class="param">mykey</span>&quot; was send with the JSON data</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:71</span></div></li> <script type="text/javascript">moveProgressBar('117.3');</script></ol></div><div class='scenario'><span class="scenario_file">features/filentory-cli.feature:38</span><h3 id="scenario_5"><span class="keyword">Scenario:</span> <span class="val">Server does not exist</span></h3><ol><li id='features_filentory-cli_feature_39' class='step passed'><div class="step_name"><span class="keyword">When </span><span class="step val">I run &quot;<span class="param">filentory-cli</span>&quot; with the wrong server parameter</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:59</span></div></li> <script type="text/javascript">moveProgressBar('121.7');</script><li id='features_filentory-cli_feature_40' class='step passed'><div class="step_name"><span class="keyword">Then </span><span class="step val">I should get a message that the data could not be sent</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:63</span></div></li> <script type="text/javascript">moveProgressBar('126.0');</script></ol></div></div><script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>0m0.855s seconds</strong>";</script><script type="text/javascript">document.getElementById('totals').innerHTML = "5 scenarios (5 passed)<br />23 steps (23 passed)";</script></div></body></html>
472
+ </script></head><body><!-- Step count 23--><div class="cucumber"><div id="cucumber-header"><div id="label"><h1>Cucumber Features</h1></div><div id="summary"><p id="totals"></p><p id="duration"></p><div id="expand-collapse"><p id="expander">Expand All</p><p id="collapser">Collapse All</p></div></div></div><div class="feature"><h2><span class="val">Feature: Filentory-cli works</span></h2><p class="narrative"></p><div class='scenario'><span class="scenario_file">features/filentory-cli.feature:3</span><h3 id="scenario_1"><span class="keyword">Scenario:</span> <span class="val">App just runs</span></h3><ol><li id='features_filentory-cli_feature_4' class='step passed'><div class="step_name"><span class="keyword">When </span><span class="step val">I get help for &quot;<span class="param">filentory-cli</span>&quot;</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:58</span></div></li> <script type="text/javascript">moveProgressBar('4.3');</script><li id='features_filentory-cli_feature_5' class='step passed'><div class="step_name"><span class="keyword">Then </span><span class="step val">the exit status should be <span class="param">0</span></span></div><div class="step_file"><span>aruba-0.6.1/lib/aruba/cucumber.rb:197</span></div></li> <script type="text/javascript">moveProgressBar('8.6');</script><li id='features_filentory-cli_feature_6' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the banner should be present</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:78</span></div></li> <script type="text/javascript">moveProgressBar('13.0');</script><li id='features_filentory-cli_feature_7' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">there should be a one line summary of what the app does</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:109</span></div></li> <script type="text/javascript">moveProgressBar('17.3');</script><li id='features_filentory-cli_feature_8' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the banner should document that this app takes options</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:82</span></div></li> <script type="text/javascript">moveProgressBar('21.7');</script><li id='features_filentory-cli_feature_9' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the following options should be documented:</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:63</span></div><table><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">--version</span></div></td></tr> <script type="text/javascript">moveProgressBar('30.4');</script><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">--type</span></div></td></tr> <script type="text/javascript">moveProgressBar('34.7');</script><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">--auth</span></div></td></tr> <script type="text/javascript">moveProgressBar('39.1');</script></table></li> <script type="text/javascript">moveProgressBar('39.1');</script><li id='features_filentory-cli_feature_13' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the banner should document that this app&#39;s arguments are:</span></div><div class="step_file"><span>methadone-1.8.0/lib/methadone/cucumber.rb:87</span></div><table><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">name</span></div></td><td class="step" id="row_-1_1"><div><span class="step param"></span></div></td></tr> <script type="text/javascript">moveProgressBar('47.8');</script><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">path</span></div></td><td class="step" id="row_-1_1"><div><span class="step param"></span></div></td></tr> <script type="text/javascript">moveProgressBar('52.1');</script><tr class='step' id='row_-1'><td class="step" id="row_-1_0"><div><span class="step param">server</span></div></td><td class="step" id="row_-1_1"><div><span class="step param">optional</span></div></td></tr> <script type="text/javascript">moveProgressBar('56.5');</script></table></li> <script type="text/javascript">moveProgressBar('56.5');</script></ol></div><div class='scenario'><span class="scenario_file">features/filentory-cli.feature:18</span><h3 id="scenario_2"><span class="keyword">Scenario:</span> <span class="val">App prints JSON</span></h3><ol><li id='features_filentory-cli_feature_19' class='step passed'><div class="step_name"><span class="keyword">When </span><span class="step val">I run &quot;<span class="param">filentory-cli</span>&quot; for the test data</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:2</span></div></li> <script type="text/javascript">moveProgressBar('60.8');</script><li id='features_filentory-cli_feature_20' class='step passed'><div class="step_name"><span class="keyword">Then </span><span class="step val">I should get JSON as output</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:6</span></div></li> <script type="text/javascript">moveProgressBar('65.2');</script><li id='features_filentory-cli_feature_21' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the &quot;<span class="param">name</span>&quot; should be &quot;<span class="param">testrun</span>&quot;</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('69.5');</script><li id='features_filentory-cli_feature_22' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the &quot;<span class="param">mediatype</span>&quot; should be &quot;<span class="param">DVD</span>&quot;</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:12</span></div></li> <script type="text/javascript">moveProgressBar('73.9');</script><li id='features_filentory-cli_feature_23' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">there should be <span class="param">4</span> entries in &quot;<span class="param">files</span>&quot;</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:16</span></div></li> <script type="text/javascript">moveProgressBar('78.2');</script><li id='features_filentory-cli_feature_24' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the first file should be placed in the root folder</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:20</span></div></li> <script type="text/javascript">moveProgressBar('82.6');</script><li id='features_filentory-cli_feature_25' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the second file should be in the &quot;<span class="param">folder</span>&quot;</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:27</span></div></li> <script type="text/javascript">moveProgressBar('86.9');</script><li id='features_filentory-cli_feature_26' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the image file should have metadata</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:34</span></div></li> <script type="text/javascript">moveProgressBar('91.3');</script><li id='features_filentory-cli_feature_27' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">the video file should have metadata</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:43</span></div></li> <script type="text/javascript">moveProgressBar('95.6');</script></ol></div><div class='scenario'><span class="scenario_file">features/filentory-cli.feature:29</span><h3 id="scenario_3"><span class="keyword">Scenario:</span> <span class="val">Sending data to server</span></h3><ol><li id='features_filentory-cli_feature_30' class='step passed'><div class="step_name"><span class="keyword">When </span><span class="step val">I run &quot;<span class="param">filentory-cli</span>&quot; with a server parameter</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:51</span></div></li> <script type="text/javascript">moveProgressBar('100.0');</script><li id='features_filentory-cli_feature_31' class='step passed'><div class="step_name"><span class="keyword">Then </span><span class="step val">I should get a message that the data was send successfully</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:55</span></div></li> <script type="text/javascript">moveProgressBar('104.3');</script></ol></div><div class='scenario'><span class="scenario_file">features/filentory-cli.feature:33</span><h3 id="scenario_4"><span class="keyword">Scenario:</span> <span class="val">YAML file present while sending data to server</span></h3><ol><li id='features_filentory-cli_feature_34' class='step passed'><div class="step_name"><span class="keyword">When </span><span class="step val">I run &quot;<span class="param">filentory-cli</span>&quot; with a server parameter and a yaml file</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:67</span></div></li> <script type="text/javascript">moveProgressBar('108.6');</script><li id='features_filentory-cli_feature_35' class='step passed'><div class="step_name"><span class="keyword">Then </span><span class="step val">I should get a message that the data was send successfully</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:55</span></div></li> <script type="text/javascript">moveProgressBar('113.0');</script><li id='features_filentory-cli_feature_36' class='step passed'><div class="step_name"><span class="keyword">And </span><span class="step val">I should get a message that &quot;<span class="param">mykey</span>&quot; was send with the JSON data</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:71</span></div></li> <script type="text/javascript">moveProgressBar('117.3');</script></ol></div><div class='scenario'><span class="scenario_file">features/filentory-cli.feature:38</span><h3 id="scenario_5"><span class="keyword">Scenario:</span> <span class="val">Server does not exist</span></h3><ol><li id='features_filentory-cli_feature_39' class='step passed'><div class="step_name"><span class="keyword">When </span><span class="step val">I run &quot;<span class="param">filentory-cli</span>&quot; with the wrong server parameter</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:59</span></div></li> <script type="text/javascript">moveProgressBar('121.7');</script><li id='features_filentory-cli_feature_40' class='step passed'><div class="step_name"><span class="keyword">Then </span><span class="step val">I should get a message that the data could not be sent</span></div><div class="step_file"><span>features/step_definitions/filentory-cli_steps.rb:63</span></div></li> <script type="text/javascript">moveProgressBar('126.0');</script></ol></div></div><script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>0m0.852s seconds</strong>";</script><script type="text/javascript">document.getElementById('totals').innerHTML = "5 scenarios (5 passed)<br />23 steps (23 passed)";</script></div></body></html>
@@ -0,0 +1 @@
1
+ # for tests only
@@ -0,0 +1,45 @@
1
+ require File.expand_path '../test_helper.rb', __FILE__
2
+ require 'minitest/autorun'
3
+ require 'filentory/collector'
4
+ require 'filentory'
5
+ require 'mkfifo'
6
+ require 'methadone'
7
+ require 'stringio'
8
+
9
+ class TestLogging < Minitest::Test
10
+ def setup
11
+ @pipe_path = File.dirname(__FILE__)+"/integration/special/pipe"
12
+ @real_stderr = $stderr
13
+ @real_stdout = $stdout
14
+ $stderr = StringIO.new
15
+ $stderr.sync = true
16
+ $stdout = StringIO.new
17
+ $stdout.sync = true
18
+ end
19
+
20
+ def teardown
21
+ $stderr = @real_stderr
22
+ $stdout = @real_stdout
23
+
24
+ if(File.exist?(@pipe_path))
25
+ FileUtils.rm(@pipe_path)
26
+ end
27
+ end
28
+
29
+ def test_pipes_are_logged
30
+ File.mkfifo(@pipe_path) unless File.exist?(@pipe_path)
31
+
32
+ col = Collector.new
33
+ col.logger = Logger.new($stdout)
34
+ col.logger.level = Logger::DEBUG
35
+ result = col.collect(File.dirname(__FILE__)+"/integration/special/")
36
+
37
+ assert_equal(2, result.length)
38
+
39
+ #assert_equal(Logger::DEBUG, col.logger.level)
40
+ #puts "STDERR: #{$stderr.string}"
41
+ #puts "STDOUT: #{$stdout.string}"
42
+ assert_includes($stdout.string, "skippking pipe")
43
+ end
44
+
45
+ end
@@ -0,0 +1,45 @@
1
+ require File.expand_path '../test_helper.rb', __FILE__
2
+ require 'minitest/autorun'
3
+ require 'filentory/collector'
4
+ require 'filentory'
5
+ require 'mkfifo'
6
+
7
+ class TestSpecialCases < Minitest::Test
8
+
9
+ def test_pipes_are_ignored
10
+ cleanup()
11
+
12
+ File.mkfifo(File.dirname(__FILE__)+"/integration/special/pipe")
13
+
14
+ col = Collector.new
15
+ result = col.collect(File.dirname(__FILE__)+"/integration/special/")
16
+ #puts "The result is: #{result}"
17
+ assert_equal(2, result.length)
18
+ assert_equal(".gitignore", result[0].name)
19
+ end
20
+
21
+ def test_exif_fields_are_filled_up
22
+ col = Collector.new
23
+ result = col.collect(File.dirname(__FILE__)+"/integration/special/")
24
+ #puts "The result is: #{result}"
25
+
26
+ assert_equal(2, result.length)
27
+ assert_equal("exif.jpg", result[1].name)
28
+ assert_equal(250, result[1].metadata['exif.artist'].length)
29
+ assert_equal(250, result[1].metadata['dc.description'].length)
30
+
31
+
32
+ assert_equal("Cannon", result[1].metadata['exif.make'])
33
+ assert_equal("EOS 6D", result[1].metadata['exif.model'])
34
+ assert_equal("2015-01-06T21:58:08+00:00", result[1].metadata['exif.date_time'])
35
+ assert_equal("2015-01-06T09:11:18+00:00", result[1].metadata['exif.date_time_original'])
36
+ assert_equal("Ipsach, Switzerland", result[1].metadata['Iptc4xmpCore.Location'])
37
+ end
38
+
39
+ def cleanup
40
+ if(File.exist?(File.dirname(__FILE__)+"/integration/special/pipe"))
41
+ FileUtils.rm(File.dirname(__FILE__)+"/integration/special/pipe")
42
+ end
43
+ end
44
+
45
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filentory-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johnny Graber
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-23 00:00:00.000000000 Z
11
+ date: 2015-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdoc
@@ -72,28 +72,28 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.5.2
75
+ version: 1.6.1
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.5.2
82
+ version: 1.6.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rack-test
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.6.2
89
+ version: '0.6'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.6.2
96
+ version: '0.6'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: minitest
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: mkfifo
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: methadone
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +226,14 @@ dependencies:
212
226
  requirements:
213
227
  - - "~>"
214
228
  - !ruby/object:Gem::Version
215
- version: 0.9.1
229
+ version: 0.10.0
216
230
  type: :development
217
231
  prerelease: false
218
232
  version_requirements: !ruby/object:Gem::Requirement
219
233
  requirements:
220
234
  - - "~>"
221
235
  - !ruby/object:Gem::Version
222
- version: 0.9.1
236
+ version: 0.10.0
223
237
  description: A tool to create an inventory of a storage medium
224
238
  email:
225
239
  - jg@jgraber.ch
@@ -245,6 +259,7 @@ files:
245
259
  - features/support/demoserver.rb
246
260
  - features/support/env.rb
247
261
  - filentory-cli.gemspec
262
+ - filentory.yaml.template
248
263
  - lib/filentory.rb
249
264
  - lib/filentory/collector.rb
250
265
  - lib/filentory/datastore.rb
@@ -258,16 +273,21 @@ files:
258
273
  - test/integration/data/folder/fileB.txt
259
274
  - test/integration/data/image_with_exif_and_xmp_infos.jpg
260
275
  - test/integration/data/video.mov
276
+ - test/integration/special/.gitignore
277
+ - test/integration/special/exif.jpg
261
278
  - test/tc_collector.rb
262
279
  - test/tc_datastore.rb
263
280
  - test/tc_exifextractor.rb
264
281
  - test/tc_fileentry.rb
282
+ - test/tc_logging.rb
265
283
  - test/tc_sender.rb
266
284
  - test/tc_something.rb
285
+ - test/tc_special_cases.rb
267
286
  - test/tc_videoextractor.rb
268
287
  - test/test_helper.rb
269
288
  homepage: https://github.com/jgraber/filentory-cli
270
- licenses: []
289
+ licenses:
290
+ - Apache License, Version 2.0
271
291
  metadata: {}
272
292
  post_install_message:
273
293
  rdoc_options: []
@@ -285,7 +305,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
285
305
  version: '0'
286
306
  requirements: []
287
307
  rubyforge_project:
288
- rubygems_version: 2.2.2
308
+ rubygems_version: 2.4.5.1
289
309
  signing_key:
290
310
  specification_version: 4
291
311
  summary: Filentory-cli is a first step to get order in a chaotic collection of storage
@@ -301,11 +321,15 @@ test_files:
301
321
  - test/integration/data/folder/fileB.txt
302
322
  - test/integration/data/image_with_exif_and_xmp_infos.jpg
303
323
  - test/integration/data/video.mov
324
+ - test/integration/special/.gitignore
325
+ - test/integration/special/exif.jpg
304
326
  - test/tc_collector.rb
305
327
  - test/tc_datastore.rb
306
328
  - test/tc_exifextractor.rb
307
329
  - test/tc_fileentry.rb
330
+ - test/tc_logging.rb
308
331
  - test/tc_sender.rb
309
332
  - test/tc_something.rb
333
+ - test/tc_special_cases.rb
310
334
  - test/tc_videoextractor.rb
311
335
  - test/test_helper.rb