filentory-cli 0.4.0 → 0.5.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.
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