mini_exiftool 2.9.0 → 2.9.1

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
- SHA1:
3
- metadata.gz: f3b224dbde8e07fa83d9725daa5728048d460b74
4
- data.tar.gz: a3e2aae3ae29faf1c83bd9546a3736060c0a498f
2
+ SHA256:
3
+ metadata.gz: 9155fb65753a3a7afec540dc62c9581c2f70056b1812e52bbf2d3312d4cc9450
4
+ data.tar.gz: f6553477f4adb5b0e876ec60d5f70eaa32127f083dfdc5608312eb6929fd1c03
5
5
  SHA512:
6
- metadata.gz: febb234aab0eb01ff1b95ea8e7a14267b518dc7210dd3dbf76be99977531453c747dea2e5f61a1265b94e32243c35510a778e719ceed7258967cd54e84a4fd60
7
- data.tar.gz: 4ef9d8c7d6f4184b3e5b8939896226c622bc5120d9c3aa067650a96ef2b6b4c803aa90a705d2d8b50bfe3effcf6a0ad2b5593bcee2de43c1f0aed922438a668d
6
+ metadata.gz: 18b3388e4e0449701228a31c7cc669e5545b46baef1233eeedd4a19dba09408c3254fb8f64ba0288a2a5760bf59e8f1020ac8c162f62b634f11d7591ace2b5e3
7
+ data.tar.gz: 7de184378b9a27ae702b3d71b127821188180a80c586996f05f85c7ba51bd918c51075ede14551131dc284a52e8c59fd86226945cd5c54b9e2c34a88f2ac0db7
@@ -1,5 +1,4 @@
1
1
  personal_ws-1.1 en 114
2
- CodedCharacterSet
3
2
  Stjernstrom
4
3
  iptc
5
4
  README
@@ -7,6 +6,7 @@ releating
7
6
  Gemfile
8
7
  Friedrich
9
8
  echoe
9
+ CaptionAbstract
10
10
  encodings
11
11
  stderr
12
12
  Cypriano
@@ -18,30 +18,30 @@ jpg
18
18
  Soika
19
19
  rdoc
20
20
  ccoenen
21
- StandardError
22
21
  gemspec
23
22
  Kulander
24
23
  exif
25
- refactorings
24
+ SubjectLocation
26
25
  FNumber
27
26
  dir
28
27
  popen
29
28
  io
29
+ multi
30
30
  JPEG
31
31
  yaml
32
32
  mfo
33
33
  coord
34
34
  md
35
- MiniExiftool
36
35
  Tempfile
37
36
  warings
38
37
  Gaelan
39
38
  atomar
40
- Atomar
41
39
  Regexes
42
40
  mie
43
41
  �ml�uts
42
+ CodedCharacterSet
44
43
  commandline
44
+ TestEscapeFilename
45
45
  robotmay
46
46
  params
47
47
  Soutar
@@ -49,19 +49,17 @@ metadata
49
49
  filename
50
50
  OO
51
51
  rb
52
- SupplementalCategories
53
52
  stdout
54
- exiftool
55
53
  ExifTool
54
+ exiftool
56
55
  prerelease
57
56
  str
58
57
  Henning
58
+ SupplementalCategories
59
59
  Krogmann
60
60
  timestamps
61
61
  encod
62
- customizable
63
62
  bundler
64
- CaptionAbstract
65
63
  Picturelife
66
64
  cgat
67
65
  Hinrich
@@ -73,7 +71,7 @@ aiff
73
71
  pdf
74
72
  MacRoman
75
73
  DateTime
76
- TestEscapeFilename
74
+ refactorings
77
75
  ptore
78
76
  ws
79
77
  icc
@@ -82,17 +80,18 @@ UTF
82
80
  Wil
83
81
  shioyama
84
82
  Joshfindit
83
+ StandardError
85
84
  Dungan
86
85
  Romahn
87
86
  uwe
88
- DateTimeOriginal
89
- datetimeoriginal
87
+ MiniExiftool
90
88
  filenames
91
89
  POSIX
92
90
  darwin
93
- SubjectLocation
94
91
  GPS
95
92
  quicktime
93
+ DateTimeOriginal
94
+ datetimeoriginal
96
95
  pstore
97
96
  PStore
98
97
  shellwords
@@ -111,5 +110,6 @@ Horrocks
111
110
  acki
112
111
  Salzberg
113
112
  Hoy
113
+ customizable
114
114
  regtest
115
115
  json
data/Changelog CHANGED
@@ -1,3 +1,7 @@
1
+ 2.9.1
2
+ Fix a problem with frozen string in newer Ruby versions.
3
+ Improve internal stuff and documentation.
4
+
1
5
  2.9.0
2
6
  Use rim/regtest instead of regtest/task to include regtest files into gem.
3
7
  Update to rim 2.15 to include Gemfile and other stuff into gem file.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # MiniExiftool
1
+ # MiniExiftool [![Build Status](https://travis-ci.org/janfri/mini_exiftool.svg?branch=master)](https://travis-ci.org/janfri/mini_exiftool)
2
2
 
3
3
  This library is a wrapper for the ExifTool command-line application
4
4
  (http://www.sno.phy.queensu.ca/~phil/exiftool) written by Phil Harvey.
@@ -28,7 +28,7 @@ gem install mini_exiftool
28
28
  ```
29
29
  or simply add to the following to your Gemfile:
30
30
  ```ruby
31
- gem 'multi_exiftool'
31
+ gem 'mini_exiftool'
32
32
  ```
33
33
 
34
34
  If you need to support older versions of Ruby or Exiftool (see Requirements above)
@@ -40,7 +40,7 @@ gem install --version "< 2.0.0" mini_exiftool
40
40
  or if you use a Gemfile add:
41
41
 
42
42
  ```ruby
43
- gem 'multi_exiftool', '<2.0.0'
43
+ gem 'mini_exiftool', '<2.0.0'
44
44
  ```
45
45
 
46
46
  ## Configuration
@@ -100,7 +100,7 @@ examples.
100
100
 
101
101
  The philosophy of MiniExiftool is safety over performance.
102
102
  It can not handle more than one file at once. Writing operations are
103
- executed on a copy of the original file to have atomar writing: Either
103
+ executed on a copy of the original file to have atomic writing: Either
104
104
  all changed values are written or none.
105
105
  To be able to assign errors to a specific tag writing operations also call
106
106
  the Exiftool command-line application once for each changed tag!
@@ -26,7 +26,7 @@ require 'time'
26
26
  # Simple OO access to the ExifTool command-line application.
27
27
  class MiniExiftool
28
28
 
29
- VERSION = '2.9.0'
29
+ VERSION = '2.9.1'
30
30
 
31
31
  # Name of the ExifTool command-line application
32
32
  @@cmd = 'exiftool'
@@ -418,8 +418,8 @@ class MiniExiftool
418
418
 
419
419
  def method_missing symbol, *args
420
420
  tag_name = symbol.id2name
421
- if tag_name.sub!(/=$/, '')
422
- self[tag_name] = args.first
421
+ if tag_name =~ /^(.+)=$/
422
+ self[$1] = args.first
423
423
  else
424
424
  self[tag_name]
425
425
  end
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: mini_exiftool 2.9.0 ruby lib
2
+ # stub: mini_exiftool 2.9.1 ruby lib
3
3
  #
4
4
  # This file is automatically generated by rim.
5
5
  # PLEASE DO NOT EDIT IT DIRECTLY!
@@ -7,19 +7,19 @@
7
7
 
8
8
  Gem::Specification.new do |s|
9
9
  s.name = "mini_exiftool"
10
- s.version = "2.9.0"
10
+ s.version = "2.9.1"
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 = "2017-09-19"
15
+ s.date = "2019-10-28"
16
16
  s.description = "This library is a wrapper for the ExifTool command-line application\n(http://www.sno.phy.queensu.ca/~phil/exiftool) written by Phil Harvey.\nIt provides the full power of ExifTool to Ruby: reading and writing of\nEXIF-data, IPTC-data and XMP-data.\n"
17
17
  s.email = "janfri26@gmail.com"
18
18
  s.files = ["./.aspell.pws", "COPYING", "Changelog", "Gemfile", "README.md", "Rakefile", "Tutorial.md", "examples/copy_icc_profile.rb", "examples/external_photo.rb", "examples/print_portraits.rb", "examples/shift_time.rb", "examples/show_speedup_with_fast_option.rb", "lib/mini_exiftool.rb", "mini_exiftool.gemspec", "regtest/read_all.rb", "regtest/read_all.yml", "test/data", "test/data/Bad_PreviewIFD.jpg", "test/data/Canon.jpg", "test/data/INFORMATION", "test/data/invalid_byte_sequence_in_utf8.json", "test/data/invalid_rational.json", "test/data/test.jpg", "test/data/test.jpg.json", "test/data/test_coordinates.jpg", "test/data/test_encodings.jpg", "test/data/test_special_dates.jpg", "test/helpers_for_test.rb", "test/test_bad_preview_ifd.rb", "test/test_class_methods.rb", "test/test_composite.rb", "test/test_copy_tags_from.rb", "test/test_dumping.rb", "test/test_encodings.rb", "test/test_filename_access.rb", "test/test_from_hash.rb", "test/test_invalid_byte_sequence_in_utf8.rb", "test/test_invalid_rational.rb", "test/test_io.rb", "test/test_pstore.rb", "test/test_read.rb", "test/test_read_coordinates.rb", "test/test_read_numerical.rb", "test/test_save.rb", "test/test_special.rb", "test/test_special_dates.rb", "test/test_write.rb"]
19
19
  s.homepage = "https://github.com/janfri/mini_exiftool"
20
20
  s.licenses = ["LGPL-2.1"]
21
21
  s.post_install_message = "+-----------------------------------------------------------------------+\n| Please ensure you have installed exiftool at least version 7.65 |\n| and it's found in your PATH (Try \"exiftool -ver\" on your commandline).|\n| For more details see |\n| http://www.sno.phy.queensu.ca/~phil/exiftool/install.html |\n| You need also Ruby 1.9 or higher. |\n| If you need support for Ruby 1.8 or exiftool prior 7.65 install |\n| mini_exiftool version < 2.0.0. |\n+-----------------------------------------------------------------------+\n"
22
- s.rubygems_version = "2.6.13"
22
+ s.rubygems_version = "3.0.3"
23
23
  s.summary = "This library is a wrapper for the ExifTool command-line application (http://www.sno.phy.queensu.ca/~phil/exiftool)."
24
24
 
25
25
  if s.respond_to? :specification_version then
@@ -27,19 +27,19 @@ Gem::Specification.new do |s|
27
27
 
28
28
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
29
29
  s.add_development_dependency(%q<rake>, [">= 0"])
30
- s.add_development_dependency(%q<rim>, ["~> 2.15"])
30
+ s.add_development_dependency(%q<rim>, ["~> 2.17"])
31
31
  s.add_development_dependency(%q<test-unit>, [">= 0"])
32
- s.add_development_dependency(%q<regtest>, ["~> 1.0"])
32
+ s.add_development_dependency(%q<regtest>, ["~> 2"])
33
33
  else
34
34
  s.add_dependency(%q<rake>, [">= 0"])
35
- s.add_dependency(%q<rim>, ["~> 2.15"])
35
+ s.add_dependency(%q<rim>, ["~> 2.17"])
36
36
  s.add_dependency(%q<test-unit>, [">= 0"])
37
- s.add_dependency(%q<regtest>, ["~> 1.0"])
37
+ s.add_dependency(%q<regtest>, ["~> 2"])
38
38
  end
39
39
  else
40
40
  s.add_dependency(%q<rake>, [">= 0"])
41
- s.add_dependency(%q<rim>, ["~> 2.15"])
41
+ s.add_dependency(%q<rim>, ["~> 2.17"])
42
42
  s.add_dependency(%q<test-unit>, [">= 0"])
43
- s.add_dependency(%q<regtest>, ["~> 1.0"])
43
+ s.add_dependency(%q<regtest>, ["~> 2"])
44
44
  end
45
45
  end
@@ -3,15 +3,7 @@ require 'mini_exiftool'
3
3
  require 'test/unit'
4
4
  require 'fileutils'
5
5
  require 'tempfile'
6
- begin
7
- require 'turn'
8
- rescue LoadError
9
- begin
10
- require 'rubygems'
11
- require 'turn'
12
- rescue LoadError
13
- end
14
- end
6
+ require 'yaml'
15
7
 
16
8
  include Test::Unit
17
9
 
@@ -1,6 +1,5 @@
1
1
  # -- encoding: utf-8 --
2
2
  require 'helpers_for_test'
3
- require 'yaml'
4
3
 
5
4
  class TestDumping < TestCase
6
5
 
@@ -12,6 +12,7 @@ class TestInvalidByteSequenceInUtf8 < TestCase
12
12
  end
13
13
 
14
14
  def test_invalid_byte_sequence_gets_unconverted_value_with_invalid_encoding
15
+ omit 'Java version of json gem can not handle invalid encoded data' if RUBY_PLATFORM == 'java'
15
16
  assert_nothing_raised do
16
17
  mini_exiftool = MiniExiftool.from_json(@json)
17
18
  assert_equal 1561, mini_exiftool.color_balance_unknown.size
@@ -5,20 +5,33 @@ class TestPstore < TestCase
5
5
 
6
6
  def test_pstore
7
7
  pstore_dir = Dir.mktmpdir
8
- s = MiniExiftool.writable_tags.size.to_s
9
- cmd = %Q(#{RUBY_ENGINE} -EUTF-8 -I lib -r mini_exiftool -e "MiniExiftool.pstore_dir = '#{pstore_dir}'; p MiniExiftool.writable_tags.size")
10
- a = Time.now
11
- result = `#{cmd}`
12
- b = Time.now
13
- assert_equal s, result.chomp
8
+ writable_tags = MiniExiftool.writable_tags
9
+ res = execute(pstore_dir)
10
+ t1 = res['time']
11
+ assert_equal writable_tags, res['writable_tags']
14
12
  assert_equal 1, Dir[File.join(pstore_dir, '*')].size
15
- c = Time.now
16
- result = `#{cmd}`
17
- d = Time.now
18
- assert_equal s, result.chomp
19
- assert 10 * (d - c) < (b - a)
13
+ res = execute(pstore_dir)
14
+ t2 = res['time']
15
+ assert_equal writable_tags, res['writable_tags']
16
+ assert t2 < 1.0, format('loading cached tag information should be done in under 1 second but needed %.2fs', t2)
17
+ assert 10 * t2 < t1, format('loading cached tag information (%.2fs) should be 10 times faster than loading uncached information (%.2fs)', t2, t1)
20
18
  ensure
21
19
  FileUtils.rm_rf pstore_dir
22
20
  end
23
21
 
22
+ private
23
+
24
+ def execute pstore_dir
25
+ script = <<-END
26
+ MiniExiftool.pstore_dir = '#{pstore_dir}'
27
+ res = {}
28
+ start = Time.now
29
+ res['writable_tags'] = MiniExiftool.writable_tags
30
+ res['time'] = Time.now - start
31
+ puts YAML.dump res
32
+ END
33
+ cmd = %Q(#{RUBY_ENGINE} -EUTF-8 -I lib -r mini_exiftool -r yaml -e "#{script}")
34
+ YAML.load(`#{cmd}`)
35
+ end
36
+
24
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_exiftool
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.0
4
+ version: 2.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Friedrich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-19 00:00:00.000000000 Z
11
+ date: 2019-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.15'
33
+ version: '2.17'
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: '2.15'
40
+ version: '2.17'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: test-unit
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.0'
61
+ version: '2'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.0'
68
+ version: '2'
69
69
  description: |
70
70
  This library is a wrapper for the ExifTool command-line application
71
71
  (http://www.sno.phy.queensu.ca/~phil/exiftool) written by Phil Harvey.
@@ -150,8 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  - !ruby/object:Gem::Version
151
151
  version: '0'
152
152
  requirements: []
153
- rubyforge_project:
154
- rubygems_version: 2.6.13
153
+ rubygems_version: 3.0.3
155
154
  signing_key:
156
155
  specification_version: 4
157
156
  summary: This library is a wrapper for the ExifTool command-line application (http://www.sno.phy.queensu.ca/~phil/exiftool).