filentory-cli 0.4.0 → 0.6.2
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 +5 -5
- data/features/step_definitions/filentory-cli_steps.rb +1 -1
- data/features/support/env.rb +17 -10
- data/lib/filentory/collector.rb +2 -2
- data/lib/filentory/exifextractor.rb +43 -23
- data/lib/filentory/version.rb +1 -1
- data/test/tc_gps_info.rb +32 -0
- data/test/tc_logging.rb +45 -0
- data/test/tc_special_cases.rb +45 -0
- data/test/tc_videoextractor.rb +1 -1
- metadata +54 -75
- data/.gitignore +0 -18
- data/.simplecov +0 -4
- data/.travis.yml +0 -18
- data/Gemfile +0 -4
- data/Gemfile.lock +0 -87
- data/LICENSE +0 -202
- data/README.md +0 -50
- data/README.rdoc +0 -44
- data/Rakefile +0 -61
- data/bin/filentory-cli +0 -77
- data/features/filentory-cli.feature +0 -40
- data/features/support/auth.yaml +0 -2
- data/features/support/config.ru +0 -2
- data/filentory-cli.gemspec +0 -34
- data/results.html +0 -472
- data/test/integration/data/fileA.txt +0 -1
- data/test/integration/data/folder/fileB.txt +0 -1
- data/test/integration/data/image_with_exif_and_xmp_infos.jpg +0 -0
- data/test/integration/data/video.mov +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4ed7dd8e9a60fec6b134f91c79c37588820e273706146699dc36c4f889a36872
|
4
|
+
data.tar.gz: a6f103ef0d3c089b525a9f07c80496b7b97a887f21e9813975faeae104725be2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9985d977d2ce8a777730b6009064e44a982343779cf419502802c92afdc1bc2ec82965c74da8a206af108cd4709f98d8e9f7764fc25b04c665ee34e1a89b773
|
7
|
+
data.tar.gz: 4215eed8324d228c8b598ba4894545c727b6fddc83e9d4402d3a1c1d11abb97248578996db46beb45e3b4041e44f9e9edbb308a980fbbbe11289f92b451a67bf
|
@@ -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
|
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
|
}
|
data/features/support/env.rb
CHANGED
@@ -1,21 +1,28 @@
|
|
1
1
|
require 'simplecov'
|
2
2
|
require 'aruba/cucumber'
|
3
3
|
require 'methadone/cucumber'
|
4
|
-
require
|
5
|
-
require 'fakeweb'
|
6
|
-
require 'rack/test'
|
7
|
-
|
8
|
-
ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
|
9
|
-
LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','..','lib')
|
4
|
+
require 'json_spec/cucumber'
|
10
5
|
|
6
|
+
PROJECT_ROOT = File.join(File.dirname(__FILE__),'..','..')
|
7
|
+
ENV['PATH'] = "#{File.join(PROJECT_ROOT,'bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
|
8
|
+
ARUBA_DIR = File.join(%w(tmp aruba))
|
11
9
|
Before do
|
12
|
-
|
10
|
+
@dirs = [ARUBA_DIR]
|
13
11
|
@puts = true
|
12
|
+
@aruba_timeout_seconds = 60
|
14
13
|
@original_rubylib = ENV['RUBYLIB']
|
15
|
-
|
14
|
+
@original_rubyopt = ENV['RUBYOPT']
|
15
|
+
|
16
|
+
# We want to use, hopefully, the methadone from this codebase and not
|
17
|
+
# the gem, so we put it in the RUBYLIB
|
18
|
+
ENV['RUBYLIB'] = File.join(PROJECT_ROOT,'lib') + File::PATH_SEPARATOR + ENV['RUBYLIB'].to_s
|
16
19
|
|
20
|
+
# We need -rubygems here so that 1.8-style rubies work AND travis-ci doesn't barf with it in the shebang line
|
21
|
+
ENV['RUBYOPT'] = (ENV['RUBYOPT'] || '') + ' -r rubygems'
|
17
22
|
end
|
18
23
|
|
19
24
|
After do
|
20
|
-
|
21
|
-
|
25
|
+
# Put back how it was
|
26
|
+
ENV['RUBYLIB'] = @original_rubylib
|
27
|
+
ENV['RUBYOPT'] = @original_rubyopt
|
28
|
+
end
|
data/lib/filentory/collector.rb
CHANGED
@@ -22,7 +22,7 @@ class Collector
|
|
22
22
|
end
|
23
23
|
result << extract_file_infos(file)
|
24
24
|
rescue => file_error
|
25
|
-
error ("error with file '#{path}': #{file}")
|
25
|
+
error ("error with file '#{path}': #{file} => #{file_error}")
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -67,4 +67,4 @@ class Collector
|
|
67
67
|
end
|
68
68
|
|
69
69
|
end
|
70
|
-
end
|
70
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
require 'exifr'
|
1
|
+
require 'exifr/jpeg'
|
2
2
|
require 'xmp'
|
3
|
-
require '
|
3
|
+
require 'methadone'
|
4
4
|
|
5
|
-
class ExifExtractor
|
5
|
+
class ExifExtractor include Methadone::CLILogging
|
6
6
|
|
7
7
|
# Extracts the metadata of a file at a given path in the file system.
|
8
8
|
def metadata_for_file(file_path)
|
@@ -30,39 +30,59 @@ class ExifExtractor
|
|
30
30
|
def extract_xmp_meta_data(img, xmpValues)
|
31
31
|
xmp = XMP.parse(img)
|
32
32
|
xmp.namespaces.each do |namespace_name|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
33
|
+
namespace = xmp.send(namespace_name)
|
34
|
+
extract_namespace_attributes(namespace_name, namespace, xmpValues)
|
35
|
+
end
|
36
|
+
rescue => error_message
|
37
|
+
error ("#{error_message}")
|
38
|
+
end
|
39
|
+
|
40
|
+
def extract_namespace_attributes(namespace_name, namespace, xmpValues)
|
41
|
+
namespace.attributes.each do |attr|
|
42
|
+
begin
|
43
|
+
returnval = namespace.send(attr)#.inspect
|
44
|
+
#puts "returnval: #{returnval}"
|
45
|
+
answer = returnval.scrub("*")
|
46
|
+
xmpValues["#{namespace_name}.#{attr}"] = answer.strip.to_s[0...250]
|
47
|
+
rescue => error_message
|
48
|
+
error ("#{error_message}")
|
43
49
|
end
|
44
50
|
end
|
45
|
-
rescue => error
|
46
|
-
#puts error
|
47
51
|
end
|
48
52
|
|
49
53
|
def extract_exif_main_meta_data(img, xmpValues)
|
50
|
-
xmpValues["exif.model"] =
|
51
|
-
xmpValues["exif.
|
54
|
+
xmpValues["exif.model"] = cleanup_description(img.model)
|
55
|
+
xmpValues["exif.make"] = cleanup_description(img.make)
|
56
|
+
xmpValues["exif.artist"] = cleanup_description(img.artist)
|
52
57
|
xmpValues["exif.date_time"] = format_date(img.date_time)
|
53
58
|
xmpValues["exif.date_time_original"] = format_date(img.date_time_original)
|
54
59
|
xmpValues["exif.width"] = img.width
|
55
60
|
xmpValues["exif.height"] = img.height
|
56
|
-
rescue =>
|
57
|
-
|
61
|
+
rescue => error_message
|
62
|
+
error ("#{error_message}")
|
58
63
|
end
|
59
64
|
|
65
|
+
def cleanup_metadata(value)
|
66
|
+
value.scrub("*").strip unless value.nil?
|
67
|
+
end
|
68
|
+
|
69
|
+
def cleanup_description(value)
|
70
|
+
cleanup_metadata(value.force_encoding('UTF-8')).to_s[0...250] unless value.nil?
|
71
|
+
end
|
60
72
|
|
61
73
|
def extract_gps_infos(img, xmpValues)
|
62
74
|
if img.gps
|
63
|
-
|
64
|
-
|
65
|
-
|
75
|
+
assing_value_when_field_is_set(img.gps, :latitude, "exif.gps.latitude", xmpValues)
|
76
|
+
|
77
|
+
assing_value_when_field_is_set(img.gps, :longitude, "exif.gps.longitude", xmpValues)
|
78
|
+
|
79
|
+
assing_value_when_field_is_set(img.gps, :altitude, "exif.gps.altitude", xmpValues)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def assing_value_when_field_is_set(img, method, key_in_array, xmpValues)
|
84
|
+
if !img.send(method).nil? && !img.send(method).nan?
|
85
|
+
xmpValues[key_in_array] = img.send(method)
|
66
86
|
end
|
67
87
|
end
|
68
88
|
|
@@ -71,4 +91,4 @@ class ExifExtractor
|
|
71
91
|
rescue
|
72
92
|
nil
|
73
93
|
end
|
74
|
-
end
|
94
|
+
end
|
data/lib/filentory/version.rb
CHANGED
data/test/tc_gps_info.rb
ADDED
@@ -0,0 +1,32 @@
|
|
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 TestGPSInfo < Minitest::Test
|
8
|
+
|
9
|
+
def test_latitude_is_set
|
10
|
+
result = fetch_gps_result()
|
11
|
+
assert_equal(36.98276, result[0].metadata["exif.gps.latitude"])
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_longitude_is_set
|
15
|
+
result = fetch_gps_result()
|
16
|
+
assert_equal(-110.11164666666667, result[0].metadata["exif.gps.longitude"])
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_altitude_is_set
|
20
|
+
result = fetch_gps_result()
|
21
|
+
assert_equal(1709.4, result[0].metadata["exif.gps.altitude"])
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
def fetch_gps_result()
|
26
|
+
col = Collector.new
|
27
|
+
result = col.collect(File.dirname(__FILE__)+"/integration/gps/")
|
28
|
+
#puts "The result is: #{result}"
|
29
|
+
assert_equal(1, result.length)
|
30
|
+
result
|
31
|
+
end
|
32
|
+
end
|
data/test/tc_logging.rb
ADDED
@@ -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
|
data/test/tc_videoextractor.rb
CHANGED
@@ -10,7 +10,7 @@ class TestVideoExtractor < Minitest::Test
|
|
10
10
|
metadata = extractor.metadata_for_file(File.dirname(__FILE__)+"/integration/data/video.mov")
|
11
11
|
|
12
12
|
assert_in_delta(2.18, metadata["duration"], 0.05)
|
13
|
-
assert_equal("
|
13
|
+
assert_equal("320x568", metadata["resolution"])
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_can_handle_avi
|
metadata
CHANGED
@@ -1,57 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: filentory-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johnny Graber
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rdoc
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '6.1'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '6.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: aruba
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '0.14'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
40
|
+
version: '0.14'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '13.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '13.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: fakeweb
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,70 +72,84 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: '2.2'
|
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:
|
82
|
+
version: '2.2'
|
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:
|
89
|
+
version: '1.1'
|
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:
|
96
|
+
version: '1.1'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: minitest
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '5.11'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '5.11'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: mkfifo
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
117
|
+
version: '0.1'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- - "
|
122
|
+
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
124
|
+
version: '0.1'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: methadone
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
129
|
- - "~>"
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
131
|
+
version: '2.0'
|
118
132
|
type: :runtime
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
138
|
+
version: '2.0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: oj
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
143
|
- - "~>"
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
145
|
+
version: '3.7'
|
132
146
|
type: :runtime
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
150
|
- - "~>"
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
152
|
+
version: '3.7'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: json_spec
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,14 +170,14 @@ dependencies:
|
|
156
170
|
requirements:
|
157
171
|
- - "~>"
|
158
172
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.
|
173
|
+
version: 1.3.0
|
160
174
|
type: :runtime
|
161
175
|
prerelease: false
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
163
177
|
requirements:
|
164
178
|
- - "~>"
|
165
179
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.
|
180
|
+
version: 1.3.0
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
182
|
name: xmp
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,67 +198,38 @@ dependencies:
|
|
184
198
|
requirements:
|
185
199
|
- - "~>"
|
186
200
|
- !ruby/object:Gem::Version
|
187
|
-
version:
|
201
|
+
version: '3.0'
|
188
202
|
type: :runtime
|
189
203
|
prerelease: false
|
190
204
|
version_requirements: !ruby/object:Gem::Requirement
|
191
205
|
requirements:
|
192
206
|
- - "~>"
|
193
207
|
- !ruby/object:Gem::Version
|
194
|
-
version:
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: string-scrub
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
198
|
-
requirements:
|
199
|
-
- - ">="
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version: '0'
|
202
|
-
type: :runtime
|
203
|
-
prerelease: false
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
205
|
-
requirements:
|
206
|
-
- - ">="
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
version: '0'
|
208
|
+
version: '3.0'
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
210
|
name: simplecov
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
213
|
- - "~>"
|
214
214
|
- !ruby/object:Gem::Version
|
215
|
-
version: 0.
|
215
|
+
version: '0.16'
|
216
216
|
type: :development
|
217
217
|
prerelease: false
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
219
|
requirements:
|
220
220
|
- - "~>"
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version: 0.
|
222
|
+
version: '0.16'
|
223
223
|
description: A tool to create an inventory of a storage medium
|
224
224
|
email:
|
225
225
|
- jg@jgraber.ch
|
226
|
-
executables:
|
227
|
-
- filentory-cli
|
226
|
+
executables: []
|
228
227
|
extensions: []
|
229
228
|
extra_rdoc_files: []
|
230
229
|
files:
|
231
|
-
- ".gitignore"
|
232
|
-
- ".simplecov"
|
233
|
-
- ".travis.yml"
|
234
|
-
- Gemfile
|
235
|
-
- Gemfile.lock
|
236
|
-
- LICENSE
|
237
|
-
- README.md
|
238
|
-
- README.rdoc
|
239
|
-
- Rakefile
|
240
|
-
- bin/filentory-cli
|
241
|
-
- features/filentory-cli.feature
|
242
230
|
- features/step_definitions/filentory-cli_steps.rb
|
243
|
-
- features/support/auth.yaml
|
244
|
-
- features/support/config.ru
|
245
231
|
- features/support/demoserver.rb
|
246
232
|
- features/support/env.rb
|
247
|
-
- filentory-cli.gemspec
|
248
233
|
- lib/filentory.rb
|
249
234
|
- lib/filentory/collector.rb
|
250
235
|
- lib/filentory/datastore.rb
|
@@ -253,21 +238,20 @@ files:
|
|
253
238
|
- lib/filentory/sender.rb
|
254
239
|
- lib/filentory/version.rb
|
255
240
|
- lib/filentory/videoextractor.rb
|
256
|
-
- results.html
|
257
|
-
- test/integration/data/fileA.txt
|
258
|
-
- test/integration/data/folder/fileB.txt
|
259
|
-
- test/integration/data/image_with_exif_and_xmp_infos.jpg
|
260
|
-
- test/integration/data/video.mov
|
261
241
|
- test/tc_collector.rb
|
262
242
|
- test/tc_datastore.rb
|
263
243
|
- test/tc_exifextractor.rb
|
264
244
|
- test/tc_fileentry.rb
|
245
|
+
- test/tc_gps_info.rb
|
246
|
+
- test/tc_logging.rb
|
265
247
|
- test/tc_sender.rb
|
266
248
|
- test/tc_something.rb
|
249
|
+
- test/tc_special_cases.rb
|
267
250
|
- test/tc_videoextractor.rb
|
268
251
|
- test/test_helper.rb
|
269
252
|
homepage: https://github.com/jgraber/filentory-cli
|
270
|
-
licenses:
|
253
|
+
licenses:
|
254
|
+
- Apache-2.0
|
271
255
|
metadata: {}
|
272
256
|
post_install_message:
|
273
257
|
rdoc_options: []
|
@@ -284,28 +268,23 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
284
268
|
- !ruby/object:Gem::Version
|
285
269
|
version: '0'
|
286
270
|
requirements: []
|
287
|
-
|
288
|
-
rubygems_version: 2.2.2
|
271
|
+
rubygems_version: 3.2.5
|
289
272
|
signing_key:
|
290
273
|
specification_version: 4
|
291
274
|
summary: Filentory-cli is a first step to get order in a chaotic collection of storage
|
292
275
|
medias.
|
293
276
|
test_files:
|
294
|
-
- features/filentory-cli.feature
|
295
277
|
- features/step_definitions/filentory-cli_steps.rb
|
296
|
-
- features/support/auth.yaml
|
297
|
-
- features/support/config.ru
|
298
278
|
- features/support/demoserver.rb
|
299
279
|
- features/support/env.rb
|
300
|
-
- test/integration/data/fileA.txt
|
301
|
-
- test/integration/data/folder/fileB.txt
|
302
|
-
- test/integration/data/image_with_exif_and_xmp_infos.jpg
|
303
|
-
- test/integration/data/video.mov
|
304
280
|
- test/tc_collector.rb
|
305
281
|
- test/tc_datastore.rb
|
306
282
|
- test/tc_exifextractor.rb
|
307
283
|
- test/tc_fileentry.rb
|
284
|
+
- test/tc_gps_info.rb
|
285
|
+
- test/tc_logging.rb
|
308
286
|
- test/tc_sender.rb
|
309
287
|
- test/tc_something.rb
|
288
|
+
- test/tc_special_cases.rb
|
310
289
|
- test/tc_videoextractor.rb
|
311
290
|
- test/test_helper.rb
|
data/.gitignore
DELETED
data/.simplecov
DELETED
data/.travis.yml
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
before_script:
|
3
|
-
- "sudo apt-get update && sudo apt-get install -qq ffmpeg"
|
4
|
-
# Ubuntu 14.4: - "sudo apt-get install -qq libav-tools && sudo ln /usr/bin/avconv /usr/bin/ffmpeg"
|
5
|
-
- "bundle exec rackup features/support/config.ru &"
|
6
|
-
rvm:
|
7
|
-
- 2.0.0
|
8
|
-
- 1.9.3
|
9
|
-
- 2.1.2
|
10
|
-
- jruby-head
|
11
|
-
- jruby-19mode
|
12
|
-
- rbx-2.2.3
|
13
|
-
matrix:
|
14
|
-
allow_failures:
|
15
|
-
- rvm: jruby-head
|
16
|
-
- rvm: jruby-19mode
|
17
|
-
- rvm: rbx-2.2.3
|
18
|
-
- rvm: 1.9.3
|
data/Gemfile
DELETED