multi_exiftool 0.17.1 → 0.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Changelog +5 -0
- data/README.md +1 -4
- data/Rakefile +3 -3
- data/lib/multi_exiftool/batch.rb +0 -7
- data/lib/multi_exiftool/executable.rb +9 -0
- data/lib/multi_exiftool/reader.rb +2 -7
- data/lib/multi_exiftool/writer.rb +1 -10
- data/lib/multi_exiftool.rb +1 -1
- data/multi_exiftool.gemspec +6 -6
- data/regtest/read_all_tags.yml +2 -2
- data/test/test_functional_api.rb +4 -6
- data/test/test_reader.rb +2 -10
- data/test/test_writer.rb +1 -5
- metadata +6 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5e0da6a6777fec53fcab69c4b0820b6c4ed0de051f52f6954c0b4ed77aed3d3
|
4
|
+
data.tar.gz: 1f5990491326fd50822a5b53ff0fd7e772e5ee778a870a789baaf9d714b15246
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0eb9046eaeed06017ce13fce678d00243ffb79c17cc4592b3ad4d41e79ec38e903e09432a9857db79c27e61ac34aa1c45086d9f3b6b09db3b15b72015be2d87
|
7
|
+
data.tar.gz: faf64b4908f2ed242d32e3d80920628b10a3618c021a643be158d80463f79561c0d0a798ef3eb356ec44ba47384d5bb3976b1b3e0f4b36c8d0dd8fa379590e31
|
data/Changelog
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
0.18.0
|
2
|
+
Adapt handling of errors. Only lines in STDERR which starts with "Error:" or
|
3
|
+
"Warning:" are now interpreted as error messages. Therefore ExifTool 11.10 is
|
4
|
+
now the minimal supported version.
|
5
|
+
|
1
6
|
0.17.1
|
2
7
|
Maintenance release: update Ruby versions for CI.
|
3
8
|
|
data/README.md
CHANGED
@@ -199,12 +199,9 @@ The method Values#convert is called each time a value is fetched.
|
|
199
199
|
## Requirements
|
200
200
|
|
201
201
|
- Ruby 1.9.1 or higher
|
202
|
-
- An installation of the ExifTool command-line application (version
|
202
|
+
- An installation of the ExifTool command-line application (version 11.10 or
|
203
203
|
higher). Instructions for installation you can find under
|
204
204
|
https://exiftool.org/install.html .
|
205
|
-
- If you have problems with special characters (like German umlauts) in
|
206
|
-
filenames on windows system it is recommended to use exiftool version 9.79
|
207
|
-
or higher.
|
208
205
|
|
209
206
|
## Installation
|
210
207
|
|
data/Rakefile
CHANGED
@@ -18,14 +18,14 @@ Rim.setup do |p|
|
|
18
18
|
p.homepage = 'https://github.com/janfri/multi_exiftool'
|
19
19
|
p.install_message = %q{
|
20
20
|
+-----------------------------------------------------------------------+
|
21
|
-
| Please ensure you have installed exiftool version
|
21
|
+
| Please ensure you have installed exiftool version 11.10 or higher and |
|
22
22
|
| it's found in your PATH (Try "exiftool -ver" on your commandline). |
|
23
23
|
| For more details see |
|
24
|
-
| https://exiftool.org/install.html
|
24
|
+
| https://exiftool.org/install.html |
|
25
25
|
+-----------------------------------------------------------------------+
|
26
26
|
}
|
27
27
|
p.development_dependencies << %w(contest ~>0.1)
|
28
28
|
p.development_dependencies << 'test-unit'
|
29
|
-
p.requirements << 'exiftool, version
|
29
|
+
p.requirements << 'exiftool, version 11.10 or higher'
|
30
30
|
p.test_warning = false
|
31
31
|
end
|
data/lib/multi_exiftool/batch.rb
CHANGED
@@ -29,11 +29,7 @@ module MultiExiftool
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def self.mandatory_args
|
32
|
-
|
33
|
-
%w(-J -charset FileName=utf8 -charset utf8)
|
34
|
-
else
|
35
|
-
%w(-J -charset utf8)
|
36
|
-
end
|
32
|
+
%w(-J -charset FileName=utf8 -charset utf8)
|
37
33
|
end
|
38
34
|
|
39
35
|
# Options to use with the exiftool command.
|
@@ -73,9 +69,8 @@ module MultiExiftool
|
|
73
69
|
end
|
74
70
|
|
75
71
|
def parse_results
|
72
|
+
parse_errors
|
76
73
|
stdout = @stdout.read
|
77
|
-
error_string = @stderr.read.gsub(/^ .*$/, '')
|
78
|
-
@errors = error_string.split(/\n/)
|
79
74
|
json = JSON.parse(stdout)
|
80
75
|
json.map {|values| Values.new(values)}
|
81
76
|
rescue JSON::ParserError
|
@@ -20,11 +20,7 @@ module MultiExiftool
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def self.mandatory_args
|
23
|
-
|
24
|
-
%w(-charset FileName=utf8 -charset utf8)
|
25
|
-
else
|
26
|
-
%w(-charset utf8)
|
27
|
-
end
|
23
|
+
%w(-charset FileName=utf8 -charset utf8)
|
28
24
|
end
|
29
25
|
|
30
26
|
# Options to use with the exiftool command.
|
@@ -71,11 +67,6 @@ module MultiExiftool
|
|
71
67
|
res.flatten
|
72
68
|
end
|
73
69
|
|
74
|
-
def parse_results
|
75
|
-
@errors = @stderr.read.split(/\n/)
|
76
|
-
@errors.empty?
|
77
|
-
end
|
78
|
-
|
79
70
|
end
|
80
71
|
|
81
72
|
end
|
data/lib/multi_exiftool.rb
CHANGED
data/multi_exiftool.gemspec
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: multi_exiftool 0.
|
2
|
+
# stub: multi_exiftool 0.18.0 ruby lib
|
3
3
|
#
|
4
4
|
# This file is automatically generated by rim.
|
5
5
|
# PLEASE DO NOT EDIT IT DIRECTLY!
|
@@ -7,21 +7,21 @@
|
|
7
7
|
|
8
8
|
Gem::Specification.new do |s|
|
9
9
|
s.name = "multi_exiftool"
|
10
|
-
s.version = "0.
|
10
|
+
s.version = "0.18.0"
|
11
11
|
|
12
12
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
13
13
|
s.require_paths = ["lib"]
|
14
14
|
s.authors = ["Jan Friedrich"]
|
15
|
-
s.date = "
|
15
|
+
s.date = "2024-04-04"
|
16
16
|
s.description = "This library is a wrapper for the ExifTool command-line application (https://exiftool.org) written by Phil Harvey. It is designed for dealing with multiple files at once by creating commands to call exiftool with various arguments, call it and parsing the results."
|
17
17
|
s.email = "janfri26@gmail.com"
|
18
18
|
s.files = ["./.aspell.pws", "Changelog", "Gemfile", "LICENSE", "README.md", "Rakefile", "lib/multi_exiftool", "lib/multi_exiftool.rb", "lib/multi_exiftool/batch.rb", "lib/multi_exiftool/executable.rb", "lib/multi_exiftool/reader.rb", "lib/multi_exiftool/values.rb", "lib/multi_exiftool/writer.rb", "multi_exiftool.gemspec", "regtest/read_all_tags.rb", "regtest/read_all_tags.yml", "regtest/test.jpg", "test/data", "test/data/a.jpg", "test/data/b.jpg", "test/data/c.jpg", "test/data/example.config", "test/helper.rb", "test/test_batch.rb", "test/test_executable.rb", "test/test_exiftool_stuff.rb", "test/test_functional_api.rb", "test/test_reader.rb", "test/test_values.rb", "test/test_values_using_groups.rb", "test/test_writer.rb", "test/test_writer_groups.rb"]
|
19
19
|
s.homepage = "https://github.com/janfri/multi_exiftool"
|
20
20
|
s.licenses = ["MIT"]
|
21
|
-
s.post_install_message = "\n+-----------------------------------------------------------------------+\n| Please ensure you have installed exiftool version
|
21
|
+
s.post_install_message = "\n+-----------------------------------------------------------------------+\n| Please ensure you have installed exiftool version 11.10 or higher and |\n| it's found in your PATH (Try \"exiftool -ver\" on your commandline). |\n| For more details see |\n| https://exiftool.org/install.html |\n+-----------------------------------------------------------------------+\n "
|
22
22
|
s.required_ruby_version = Gem::Requirement.new(">= 1.9.1")
|
23
|
-
s.requirements = ["exiftool, version
|
24
|
-
s.rubygems_version = "3.
|
23
|
+
s.requirements = ["exiftool, version 11.10 or higher"]
|
24
|
+
s.rubygems_version = "3.6.0.dev"
|
25
25
|
s.summary = "This library is a wrapper for the ExifTool command-line application (https://exiftool.org)."
|
26
26
|
|
27
27
|
s.specification_version = 4
|
data/regtest/read_all_tags.yml
CHANGED
@@ -4,10 +4,10 @@ result:
|
|
4
4
|
- - !ruby/object:MultiExiftool::Values
|
5
5
|
values:
|
6
6
|
sourcefile: regtest/test.jpg
|
7
|
-
exiftoolversion: 12.
|
7
|
+
exiftoolversion: 12.26
|
8
8
|
filename: test.jpg
|
9
9
|
directory: regtest
|
10
|
-
filesize: 43
|
10
|
+
filesize: 43 KiB
|
11
11
|
filetype: JPEG
|
12
12
|
filetypeextension: jpg
|
13
13
|
mimetype: image/jpeg
|
data/test/test_functional_api.rb
CHANGED
@@ -135,7 +135,7 @@ class TestFunctionalApi < Test::Unit::TestCase
|
|
135
135
|
run_in_temp_dir do
|
136
136
|
values = {orientation: 2}
|
137
137
|
errors = MultiExiftool.write(@filenames, values)
|
138
|
-
assert_equal ["Warning: Can't convert IFD0:Orientation (matches more than one PrintConv)"
|
138
|
+
assert_equal ["Warning: Can't convert IFD0:Orientation (matches more than one PrintConv)"], errors
|
139
139
|
errors = MultiExiftool.write(@filenames, values, numerical: true)
|
140
140
|
assert errors.empty?
|
141
141
|
end
|
@@ -188,13 +188,11 @@ class TestFunctionalApi < Test::Unit::TestCase
|
|
188
188
|
test 'error if tags do not exist' do
|
189
189
|
run_in_temp_dir do
|
190
190
|
errors = MultiExiftool.delete_values(@filenames, tags: %w[foo bar])
|
191
|
-
err1, err2
|
192
|
-
expected1 = /^Warning: Tag 'foo' is not
|
193
|
-
expected2 = /^Warning: Tag 'bar' is not
|
194
|
-
expected3 = 'Nothing to do.'
|
191
|
+
err1, err2 = errors
|
192
|
+
expected1 = /^Warning: Tag 'foo' is not defined$/
|
193
|
+
expected2 = /^Warning: Tag 'bar' is not defined$/
|
195
194
|
assert_match expected1, err1
|
196
195
|
assert_match expected2, err2
|
197
|
-
assert_equal expected3, err3
|
198
196
|
end
|
199
197
|
end
|
200
198
|
|
data/test/test_reader.rb
CHANGED
@@ -101,11 +101,7 @@ class TestReader < Test::Unit::TestCase
|
|
101
101
|
@reader.filenames = %w(non_existing_file)
|
102
102
|
res = @reader.read
|
103
103
|
assert_equal [], res
|
104
|
-
|
105
|
-
assert_equal ['File not found: non_existing_file'], @reader.errors
|
106
|
-
else
|
107
|
-
assert_equal ['Error: File not found - non_existing_file'], @reader.errors
|
108
|
-
end
|
104
|
+
assert_equal ['Error: File not found - non_existing_file'], @reader.errors
|
109
105
|
end
|
110
106
|
end
|
111
107
|
|
@@ -115,11 +111,7 @@ class TestReader < Test::Unit::TestCase
|
|
115
111
|
@reader.tags = %w(fnumber foo)
|
116
112
|
res = @reader.read
|
117
113
|
assert_equal [5.6], res.map {|e| e['FNumber']}
|
118
|
-
|
119
|
-
assert_equal ['File not found: xxx'], @reader.errors
|
120
|
-
else
|
121
|
-
assert_equal ['Error: File not found - xxx'], @reader.errors
|
122
|
-
end
|
114
|
+
assert_equal ['Error: File not found - xxx'], @reader.errors
|
123
115
|
end
|
124
116
|
end
|
125
117
|
|
data/test/test_writer.rb
CHANGED
@@ -123,11 +123,7 @@ class TestWriter < Test::Unit::TestCase
|
|
123
123
|
@writer.values = {comment: 'foo', bar: 'x'}
|
124
124
|
rc = @writer.write
|
125
125
|
assert !rc
|
126
|
-
|
127
|
-
assert_equal ["Warning: Tag 'bar' is not defined", "Error: File not found - xxx"], @writer.errors
|
128
|
-
else
|
129
|
-
assert_equal ["Warning: Tag 'bar' is not supported", "Error: File not found - xxx"], @writer.errors
|
130
|
-
end
|
126
|
+
assert_equal ["Warning: Tag 'bar' is not defined", "Error: File not found - xxx"], @writer.errors
|
131
127
|
end
|
132
128
|
end
|
133
129
|
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: multi_exiftool
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Friedrich
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2024-04-04 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: rake
|
@@ -124,10 +123,10 @@ licenses:
|
|
124
123
|
- MIT
|
125
124
|
metadata: {}
|
126
125
|
post_install_message: "\n+-----------------------------------------------------------------------+\n|
|
127
|
-
Please ensure you have installed exiftool version
|
126
|
+
Please ensure you have installed exiftool version 11.10 or higher and |\n| it's
|
128
127
|
found in your PATH (Try \"exiftool -ver\" on your commandline). |\n| For more
|
129
128
|
details see |\n| https://exiftool.org/install.html
|
130
|
-
\
|
129
|
+
\ |\n+-----------------------------------------------------------------------+\n
|
131
130
|
\ "
|
132
131
|
rdoc_options: []
|
133
132
|
require_paths:
|
@@ -143,9 +142,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
142
|
- !ruby/object:Gem::Version
|
144
143
|
version: '0'
|
145
144
|
requirements:
|
146
|
-
- exiftool, version
|
147
|
-
rubygems_version: 3.
|
148
|
-
signing_key:
|
145
|
+
- exiftool, version 11.10 or higher
|
146
|
+
rubygems_version: 3.6.0.dev
|
149
147
|
specification_version: 4
|
150
148
|
summary: This library is a wrapper for the ExifTool command-line application (https://exiftool.org).
|
151
149
|
test_files: []
|