mini_exiftool 1.2.2 → 1.3.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.
- data/Changelog +4 -0
- data/examples/external_photo.rb +1 -0
- data/examples/print_portraits.rb +1 -0
- data/examples/shift_time.rb +1 -0
- data/lib/mini_exiftool.rb +8 -1
- data/mini_exiftool.gemspec +3 -3
- data/setup.rb +1 -0
- data/test/helpers_for_test.rb +1 -0
- data/test/test_class_methods.rb +1 -0
- data/test/test_composite.rb +1 -0
- data/test/test_dumping.rb +1 -0
- data/test/test_read.rb +6 -1
- data/test/test_read_numerical.rb +1 -0
- data/test/test_save.rb +12 -3
- data/test/test_special.rb +1 -0
- data/test/test_special_dates.rb +2 -0
- data/test/test_write.rb +3 -2
- metadata +3 -15
data/Changelog
CHANGED
data/examples/external_photo.rb
CHANGED
data/examples/print_portraits.rb
CHANGED
data/examples/shift_time.rb
CHANGED
data/lib/mini_exiftool.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -- encoding: utf-8 --
|
1
2
|
#
|
2
3
|
# MiniExiftool
|
3
4
|
#
|
@@ -31,7 +32,7 @@ class MiniExiftool
|
|
31
32
|
attr_reader :filename
|
32
33
|
attr_accessor :numerical, :composite, :convert_encoding, :errors, :timestamps
|
33
34
|
|
34
|
-
VERSION = '1.
|
35
|
+
VERSION = '1.3.0'
|
35
36
|
|
36
37
|
# +opts+ support at the moment
|
37
38
|
# * <code>:numerical</code> for numerical values, default is +false+
|
@@ -159,6 +160,9 @@ class MiniExiftool
|
|
159
160
|
opt_params << (arr_val.detect {|x| x.kind_of?(Numeric)} ? '-n ' : '')
|
160
161
|
opt_params << (@convert_encoding ? '-L ' : '')
|
161
162
|
cmd = %Q(#@@cmd -q -P -overwrite_original #{opt_params} #{tag_params} #{temp_filename})
|
163
|
+
if convert_encoding && cmd.respond_to?(:encode)
|
164
|
+
cmd.encode('ISO-8859-1')
|
165
|
+
end
|
162
166
|
result = run(cmd)
|
163
167
|
unless result
|
164
168
|
all_ok = false
|
@@ -277,6 +281,9 @@ class MiniExiftool
|
|
277
281
|
$stderr.puts cmd
|
278
282
|
end
|
279
283
|
@output = `#{cmd} 2>#{@@error_file.path}`
|
284
|
+
if convert_encoding && @output.respond_to?(:force_encoding)
|
285
|
+
@output.force_encoding('ISO-8859-1')
|
286
|
+
end
|
280
287
|
@status = $?
|
281
288
|
unless @status.exitstatus == 0
|
282
289
|
@error_text = File.readlines(@@error_file.path).join
|
data/mini_exiftool.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{mini_exiftool}
|
5
|
-
s.version = "1.
|
5
|
+
s.version = "1.3.0"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Jan Friedrich"]
|
9
|
-
s.date = %q{2011-04-
|
9
|
+
s.date = %q{2011-04-07}
|
10
10
|
s.description = %q{This library is wrapper for the Exiftool command-line application (http://www.sno.phy.queensu.ca/~phil/exiftool).}
|
11
11
|
s.email = %q{janfri26@gmail.com}
|
12
12
|
s.extra_rdoc_files = ["README", "Tutorial", "lib/mini_exiftool.rb"]
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Mini_exiftool", "--main", "README"]
|
23
23
|
s.require_paths = ["lib"]
|
24
24
|
s.rubyforge_project = %q{mini_exiftool}
|
25
|
-
s.rubygems_version = %q{1.
|
25
|
+
s.rubygems_version = %q{1.5.0}
|
26
26
|
s.summary = %q{This library is wrapper for the Exiftool command-line application (http://www.sno.phy.queensu.ca/~phil/exiftool).}
|
27
27
|
s.test_files = ["test/helpers_for_test.rb", "test/test_class_methods.rb", "test/test_composite.rb", "test/test_dumping.rb", "test/test_escape_filename.rb", "test/test_read.rb", "test/test_read_numerical.rb", "test/test_save.rb", "test/test_special.rb", "test/test_special_dates.rb", "test/test_write.rb"]
|
28
28
|
|
data/setup.rb
CHANGED
data/test/helpers_for_test.rb
CHANGED
data/test/test_class_methods.rb
CHANGED
data/test/test_composite.rb
CHANGED
data/test/test_dumping.rb
CHANGED
data/test/test_read.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -- encoding: utf-8 --
|
1
2
|
require 'helpers_for_test'
|
2
3
|
|
3
4
|
class TestRead < TestCase
|
@@ -40,7 +41,11 @@ class TestRead < TestCase
|
|
40
41
|
def test_encoding_conversion
|
41
42
|
@mini_exiftool_converted = MiniExiftool.new @filename_test, :convert_encoding => true
|
42
43
|
assert_equal 'Abenddämmerung', @mini_exiftool.title
|
43
|
-
|
44
|
+
converted = "Abendd\344mmerung"
|
45
|
+
if converted.respond_to?(:force_encoding)
|
46
|
+
converted.force_encoding('ISO-8859-1')
|
47
|
+
end
|
48
|
+
assert_equal converted, @mini_exiftool_converted.title
|
44
49
|
end
|
45
50
|
|
46
51
|
end
|
data/test/test_read_numerical.rb
CHANGED
data/test/test_save.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -- encoding: utf-8 --
|
1
2
|
require 'digest/md5'
|
2
3
|
require 'fileutils'
|
3
4
|
require 'tempfile'
|
@@ -49,16 +50,24 @@ class TestSave < TestCase
|
|
49
50
|
end
|
50
51
|
|
51
52
|
def test_encoding_conversion
|
52
|
-
special_string = '
|
53
|
+
special_string = 'äöü'
|
54
|
+
if special_string.respond_to?(:encode)
|
55
|
+
special_string_latin1 = special_string.encode('ISO-8859-1')
|
56
|
+
else
|
57
|
+
special_string_latin1 = "\xE4\xF6\xFC"
|
58
|
+
end
|
53
59
|
@mini_exiftool.title = special_string
|
54
60
|
assert @mini_exiftool.save
|
55
61
|
assert_equal false, @mini_exiftool.convert_encoding
|
56
62
|
assert_equal special_string, @mini_exiftool.title
|
57
63
|
@mini_exiftool.convert_encoding = true
|
58
|
-
@mini_exiftool.title =
|
64
|
+
@mini_exiftool.title = special_string_latin1
|
59
65
|
assert @mini_exiftool.save
|
60
66
|
assert_equal true, @mini_exiftool.convert_encoding
|
61
|
-
|
67
|
+
if special_string_latin1.respond_to?(:encode)
|
68
|
+
special_string_latin1.encode!('ISO-8859-1')
|
69
|
+
end
|
70
|
+
assert_equal special_string_latin1, @mini_exiftool.title
|
62
71
|
end
|
63
72
|
|
64
73
|
end
|
data/test/test_special.rb
CHANGED
data/test/test_special_dates.rb
CHANGED
data/test/test_write.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -- encoding: utf-8 --
|
1
2
|
require 'digest/md5'
|
2
3
|
require 'fileutils'
|
3
4
|
require 'tempfile'
|
@@ -58,7 +59,7 @@ class TestWrite < TestCase
|
|
58
59
|
t = Time.now
|
59
60
|
@mini_exiftool_num['DateTimeOriginal'] = t
|
60
61
|
assert_kind_of Time, @mini_exiftool_num['DateTimeOriginal']
|
61
|
-
|
62
|
+
assert_equal true, @mini_exiftool_num.changed_tags.include?('DateTimeOriginal')
|
62
63
|
@mini_exiftool_num.save
|
63
64
|
assert_equal false, @mini_exiftool_num.changed?
|
64
65
|
assert_kind_of Time, @mini_exiftool_num['DateTimeOriginal']
|
@@ -70,7 +71,7 @@ class TestWrite < TestCase
|
|
70
71
|
new_time = @mini_exiftool_num['BrightnessValue'] + 1
|
71
72
|
@mini_exiftool_num['BrightnessValue'] = new_time
|
72
73
|
assert_equal new_time, @mini_exiftool_num['BrightnessValue']
|
73
|
-
|
74
|
+
assert_equal true, @mini_exiftool_num.changed_tags.include?('BrightnessValue')
|
74
75
|
@mini_exiftool_num.save
|
75
76
|
assert_kind_of Float, @mini_exiftool_num['BrightnessValue']
|
76
77
|
assert_equal new_time, @mini_exiftool_num['BrightnessValue']
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mini_exiftool
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 27
|
5
4
|
prerelease:
|
6
|
-
|
7
|
-
- 1
|
8
|
-
- 2
|
9
|
-
- 2
|
10
|
-
version: 1.2.2
|
5
|
+
version: 1.3.0
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Jan Friedrich
|
@@ -15,7 +10,7 @@ autorequire:
|
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-04-
|
13
|
+
date: 2011-04-07 00:00:00 +02:00
|
19
14
|
default_executable:
|
20
15
|
dependencies: []
|
21
16
|
|
@@ -83,24 +78,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
83
78
|
requirements:
|
84
79
|
- - ">="
|
85
80
|
- !ruby/object:Gem::Version
|
86
|
-
hash: 3
|
87
|
-
segments:
|
88
|
-
- 0
|
89
81
|
version: "0"
|
90
82
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
83
|
none: false
|
92
84
|
requirements:
|
93
85
|
- - ">="
|
94
86
|
- !ruby/object:Gem::Version
|
95
|
-
hash: 11
|
96
|
-
segments:
|
97
|
-
- 1
|
98
|
-
- 2
|
99
87
|
version: "1.2"
|
100
88
|
requirements: []
|
101
89
|
|
102
90
|
rubyforge_project: mini_exiftool
|
103
|
-
rubygems_version: 1.
|
91
|
+
rubygems_version: 1.5.0
|
104
92
|
signing_key:
|
105
93
|
specification_version: 3
|
106
94
|
summary: This library is wrapper for the Exiftool command-line application (http://www.sno.phy.queensu.ca/~phil/exiftool).
|