mini_exiftool 2.10.0 → 2.10.1
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 +4 -4
- data/.aspell.pws +2 -1
- data/Changelog +6 -0
- data/README.md +3 -3
- data/Rakefile +3 -3
- data/Tutorial.md +1 -1
- data/lib/mini_exiftool.rb +5 -5
- data/mini_exiftool.gemspec +6 -6
- data/regtest/read_all.yml +25 -24
- data/test/test_read_numerical.rb +7 -0
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7904a6f99bcb35d5b5d0c98cb23dfe671a8cda1d2dd61e57140fdb1c8fb17012
|
4
|
+
data.tar.gz: '074899234f52fc1a42c854d5f20e373cf2970cbe186854b1bf4d51133224bddb'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7409a45bf6b8bbf40eb79a288532c8019c5e14d6114e6adc1fdd2226270d9480cef568393c245595fcb1babb0f46ef840e81829813ffe16a5089c3158e2ffec6
|
7
|
+
data.tar.gz: 4b2aa1e104d586d102a2ca2602621ad9418373308824598d5b01ce98c286988809a13cc758538c2bafacdde0fd4c2aec2c23c3b8b09f493172deccb538590464
|
data/.aspell.pws
CHANGED
data/Changelog
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
2.10.1
|
2
|
+
- Make access via PStore thread-safe.
|
3
|
+
- Fix conversion of values with leading zeros.
|
4
|
+
Thanks to jvradelis for reporting this bug (github issue #40) and the hint
|
5
|
+
to the incorrect regular expression.
|
6
|
+
|
1
7
|
2.10.0
|
2
8
|
- Implement the method MiniExiftool#respond_to_missing? for completeness and
|
3
9
|
the possibility to use MiniExiftool with Forwardable.
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# MiniExiftool [](https://travis-ci.org/janfri/mini_exiftool)
|
2
2
|
|
3
3
|
This library is a wrapper for the ExifTool command-line application
|
4
|
-
(
|
4
|
+
(https://exiftool.org) written by Phil Harvey.
|
5
5
|
It provides the full power of ExifTool to Ruby: reading and writing of
|
6
6
|
EXIF-data, IPTC-data and XMP-data.
|
7
7
|
|
@@ -12,7 +12,7 @@ command-line application at least version 7.65.
|
|
12
12
|
If you run on Ruby 1.8 or with a prior exiftool version
|
13
13
|
install mini_exiftool version 1.x.x.
|
14
14
|
Instructions for installation you can find under
|
15
|
-
|
15
|
+
https://exiftool.org/install.html .
|
16
16
|
|
17
17
|
Alternatively Wil Gieseler has bundled a meta-gem that eliminates the
|
18
18
|
need for a separate ExifTool installation. Have a look at
|
@@ -131,7 +131,7 @@ tag.
|
|
131
131
|
|
132
132
|
Please read the section about the character sets of the ExifTool command
|
133
133
|
line application carefully to understand what's going on
|
134
|
-
(
|
134
|
+
(https://exiftool.org/faq.html#Q10)!
|
135
135
|
|
136
136
|
```ruby
|
137
137
|
# Using UTF-8 as internal encoding for IPTC tags and MacRoman
|
data/Rakefile
CHANGED
@@ -10,10 +10,10 @@ Rim.setup do |p|
|
|
10
10
|
p.version = MiniExiftool::VERSION
|
11
11
|
p.authors = 'Jan Friedrich'
|
12
12
|
p.email = 'janfri26@gmail.com'
|
13
|
-
p.summary = 'This library is a wrapper for the ExifTool command-line application (
|
13
|
+
p.summary = 'This library is a wrapper for the ExifTool command-line application (https://exiftool.org).'
|
14
14
|
p.description <<-END
|
15
15
|
This library is a wrapper for the ExifTool command-line application
|
16
|
-
(
|
16
|
+
(https://exiftool.org) written by Phil Harvey.
|
17
17
|
It provides the full power of ExifTool to Ruby: reading and writing of
|
18
18
|
EXIF-data, IPTC-data and XMP-data.
|
19
19
|
END
|
@@ -26,7 +26,7 @@ EXIF-data, IPTC-data and XMP-data.
|
|
26
26
|
| Please ensure you have installed exiftool at least version 7.65 |
|
27
27
|
| and it's found in your PATH (Try "exiftool -ver" on your commandline).|
|
28
28
|
| For more details see |
|
29
|
-
|
|
29
|
+
| https://exiftool.org/install.html |
|
30
30
|
| You need also Ruby 1.9 or higher. |
|
31
31
|
| If you need support for Ruby 1.8 or exiftool prior 7.65 install |
|
32
32
|
| mini_exiftool version < 2.0.0. |
|
data/Tutorial.md
CHANGED
data/lib/mini_exiftool.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# MiniExiftool
|
4
4
|
#
|
5
5
|
# This library is wrapper for the ExifTool command-line
|
6
|
-
# application (
|
6
|
+
# application (https://exiftool.org/)
|
7
7
|
# written by Phil Harvey.
|
8
8
|
# Read and write access is done in a clean OO manner.
|
9
9
|
#
|
@@ -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.10.
|
29
|
+
VERSION = '2.10.1'
|
30
30
|
|
31
31
|
# Name of the ExifTool command-line application
|
32
32
|
@@cmd = 'exiftool'
|
@@ -461,8 +461,8 @@ class MiniExiftool
|
|
461
461
|
end
|
462
462
|
when /^\+\d+\.\d+$/
|
463
463
|
value = value.to_f
|
464
|
-
when /^0
|
465
|
-
#
|
464
|
+
when /^0\d+$/
|
465
|
+
# no conversion => String
|
466
466
|
when /^-?\d+$/
|
467
467
|
value = value.to_i
|
468
468
|
when %r(^(\d+)/(\d+)$)
|
@@ -508,7 +508,7 @@ class MiniExiftool
|
|
508
508
|
def self.load_or_create_pstore
|
509
509
|
FileUtils.mkdir_p(pstore_dir)
|
510
510
|
pstore_filename = File.join(pstore_dir, 'exiftool_tags_' << exiftool_version.gsub('.', '_') << '.pstore')
|
511
|
-
@@pstore = PStore.new
|
511
|
+
@@pstore = PStore.new(pstore_filename, _threadsafe = true)
|
512
512
|
if !File.exist?(pstore_filename) || File.size(pstore_filename) == 0
|
513
513
|
$stderr.puts 'Generating cache file for ExifTool tag names. This takes a few seconds but is only needed once...'
|
514
514
|
@@pstore.transaction do |ps|
|
data/mini_exiftool.gemspec
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: mini_exiftool 2.10.
|
2
|
+
# stub: mini_exiftool 2.10.1 ruby lib
|
3
3
|
#
|
4
4
|
# This file is automatically generated by rim.
|
5
5
|
# PLEASE DO NOT EDIT IT DIRECTLY!
|
@@ -7,20 +7,20 @@
|
|
7
7
|
|
8
8
|
Gem::Specification.new do |s|
|
9
9
|
s.name = "mini_exiftool"
|
10
|
-
s.version = "2.10.
|
10
|
+
s.version = "2.10.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 = "
|
16
|
-
s.description = "This library is a wrapper for the ExifTool command-line application\n(
|
15
|
+
s.date = "2021-05-15"
|
16
|
+
s.description = "This library is a wrapper for the ExifTool command-line application\n(https://exiftool.org) 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_instance_methods.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
|
-
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|
|
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| https://exiftool.org/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
22
|
s.rubygems_version = "3.1.2"
|
23
|
-
s.summary = "This library is a wrapper for the ExifTool command-line application (
|
23
|
+
s.summary = "This library is a wrapper for the ExifTool command-line application (https://exiftool.org)."
|
24
24
|
|
25
25
|
if s.respond_to? :specification_version then
|
26
26
|
s.specification_version = 4
|
data/regtest/read_all.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
sample: read Bad_PreviewIFD.jpg
|
3
3
|
result:
|
4
|
-
ExifToolVersion:
|
4
|
+
ExifToolVersion: 11.7
|
5
5
|
FileSize: 8.4 kB
|
6
6
|
FileType: JPEG
|
7
7
|
FileTypeExtension: jpg
|
@@ -41,7 +41,7 @@ result:
|
|
41
41
|
WB_RBLevels: 56833 21761 1 1
|
42
42
|
ProgramShift: 0
|
43
43
|
ExposureDifference: 0
|
44
|
-
Warning: Bad PreviewIFD directory
|
44
|
+
Warning: "[minor] Bad PreviewIFD directory"
|
45
45
|
ISOSetting: 110
|
46
46
|
ImageBoundary: 0 0 3872 2592
|
47
47
|
CropHiSpeed: Off (3904x2616 cropped to 3904x2616 at pixel 0,0)
|
@@ -84,6 +84,7 @@ result:
|
|
84
84
|
MCUVersion: 146
|
85
85
|
EffectiveMaxAperture: 4.0
|
86
86
|
SensorPixelSize: 6.05 x 6.05 um
|
87
|
+
DateStampMode: 'Off'
|
87
88
|
RetouchHistory: None
|
88
89
|
ImageDataSize: 4725881
|
89
90
|
ShutterCount: 290
|
@@ -122,7 +123,7 @@ result:
|
|
122
123
|
RatingPercent: 0
|
123
124
|
Rating: 0
|
124
125
|
Title: ''
|
125
|
-
ProfileCMMType:
|
126
|
+
ProfileCMMType: Linotronic
|
126
127
|
ProfileVersion: 2.1.0
|
127
128
|
ProfileClass: Display Device Profile
|
128
129
|
ColorSpaceData: 'RGB '
|
@@ -131,12 +132,12 @@ result:
|
|
131
132
|
ProfileFileSignature: acsp
|
132
133
|
PrimaryPlatform: Microsoft Corporation
|
133
134
|
CMMFlags: Not Embedded, Independent
|
134
|
-
DeviceManufacturer:
|
135
|
+
DeviceManufacturer: Hewlett-Packard
|
135
136
|
DeviceModel: sRGB
|
136
137
|
DeviceAttributes: Reflective, Glossy, Positive, Color
|
137
138
|
RenderingIntent: Perceptual
|
138
139
|
ConnectionSpaceIlluminant: 0.9642 1 0.82491
|
139
|
-
ProfileCreator:
|
140
|
+
ProfileCreator: Hewlett-Packard
|
140
141
|
ProfileID: 0
|
141
142
|
ProfileCopyright: Copyright (c) 1998 Hewlett-Packard Company
|
142
143
|
ProfileDescription: sRGB IEC61966-2.1
|
@@ -170,8 +171,6 @@ result:
|
|
170
171
|
Aperture: 5.6
|
171
172
|
BlueBalance: 7
|
172
173
|
ImageSize: 1x1
|
173
|
-
LensID: AF-S DX VR Zoom-Nikkor 55-200mm f/4-5.6G IF-ED
|
174
|
-
LensSpec: 55-200mm f/4-5.6 G VR
|
175
174
|
Megapixels: 1.0e-06
|
176
175
|
RedBalance: 56833
|
177
176
|
ShutterSpeed: !ruby/object:Rational
|
@@ -181,12 +180,14 @@ result:
|
|
181
180
|
SubSecDateTimeOriginal: 2008-12-12 11:12:30.000000000 +01:00
|
182
181
|
SubSecModifyDate: 2012-05-31 21:33:12.000000000 +02:00
|
183
182
|
ThumbnailImage: "(Binary data 631 bytes, use -b option to extract)"
|
183
|
+
LensID: AF-S DX VR Zoom-Nikkor 55-200mm f/4-5.6G IF-ED
|
184
|
+
LensSpec: 55-200mm f/4-5.6 G VR
|
184
185
|
FocalLength35efl: 55.0 mm
|
185
186
|
LightValue: 11.8
|
186
187
|
---
|
187
188
|
sample: read Canon.jpg
|
188
189
|
result:
|
189
|
-
ExifToolVersion:
|
190
|
+
ExifToolVersion: 11.7
|
190
191
|
FileSize: 2.6 kB
|
191
192
|
FileType: JPEG
|
192
193
|
FileTypeExtension: jpg
|
@@ -324,29 +325,29 @@ result:
|
|
324
325
|
BitsPerSample: 8
|
325
326
|
ColorComponents: 3
|
326
327
|
YCbCrSubSampling: YCbCr4:2:0 (2 2)
|
327
|
-
Aperture: 14.0
|
328
328
|
DriveMode: Continuous Shooting
|
329
|
-
ImageSize: 8x8
|
330
329
|
Lens: 18.0 - 55.0 mm
|
330
|
+
ShootingMode: Bulb
|
331
|
+
WB_RGGBLevels: 1719 832 831 990
|
332
|
+
Aperture: 14.0
|
333
|
+
BlueBalance: 1.190619
|
334
|
+
ImageSize: 8x8
|
331
335
|
LensID: Unknown 18-55mm
|
332
336
|
Megapixels: 6.4e-05
|
337
|
+
RedBalance: 2.067348
|
333
338
|
ScaleFactor35efl: 1.6
|
334
|
-
ShootingMode: Bulb
|
335
339
|
ShutterSpeed: 4
|
336
|
-
|
337
|
-
BlueBalance: 1.190619
|
340
|
+
Lens35efl: '18.0 - 55.0 mm (35 mm equivalent: 28.6 - 87.4 mm)'
|
338
341
|
CircleOfConfusion: 0.019 mm
|
339
342
|
DOF: inf (4.31 m - inf)
|
340
343
|
FOV: 36.9 deg
|
341
344
|
FocalLength35efl: '34.0 mm (35 mm equivalent: 54.0 mm)'
|
342
345
|
HyperfocalDistance: 4.37 m
|
343
|
-
Lens35efl: '18.0 - 55.0 mm (35 mm equivalent: 28.6 - 87.4 mm)'
|
344
346
|
LightValue: 5.6
|
345
|
-
RedBalance: 2.067348
|
346
347
|
---
|
347
348
|
sample: read test.jpg
|
348
349
|
result:
|
349
|
-
ExifToolVersion:
|
350
|
+
ExifToolVersion: 11.7
|
350
351
|
FileSize: 46 kB
|
351
352
|
FileType: JPEG
|
352
353
|
FileTypeExtension: jpg
|
@@ -406,7 +407,7 @@ result:
|
|
406
407
|
ImageStabilization: 'On'
|
407
408
|
ZoneMatching: ISO Setting Used
|
408
409
|
ColorTemperature: 0
|
409
|
-
LensType: Minolta AF 28-135mm F4-4.5 or
|
410
|
+
LensType: Minolta AF 28-135mm F4-4.5 or Other Lens
|
410
411
|
UserComment: ''
|
411
412
|
FlashpixVersion: 100
|
412
413
|
ColorSpace: sRGB
|
@@ -441,7 +442,7 @@ result:
|
|
441
442
|
YCbCrSubSampling: YCbCr4:2:0 (2 2)
|
442
443
|
Aperture: 9.5
|
443
444
|
ImageSize: 300x199
|
444
|
-
LensID:
|
445
|
+
LensID: Tokina AT-X 242 AF 24-200mm F3.5-5.6
|
445
446
|
Megapixels: 0.06
|
446
447
|
ScaleFactor35efl: 1.5
|
447
448
|
ShutterSpeed: !ruby/object:Rational
|
@@ -456,7 +457,7 @@ result:
|
|
456
457
|
---
|
457
458
|
sample: read test_coordinates.jpg
|
458
459
|
result:
|
459
|
-
ExifToolVersion:
|
460
|
+
ExifToolVersion: 11.7
|
460
461
|
FileSize: 251 kB
|
461
462
|
FileType: JPEG
|
462
463
|
FileTypeExtension: jpg
|
@@ -510,9 +511,6 @@ result:
|
|
510
511
|
ColorComponents: 3
|
511
512
|
YCbCrSubSampling: YCbCr4:2:0 (2 2)
|
512
513
|
Aperture: 2.4
|
513
|
-
GPSLatitude: 43 deg 39' 11.40" N
|
514
|
-
GPSLongitude: 79 deg 22' 23.40" W
|
515
|
-
GPSPosition: 43 deg 39' 11.40" N, 79 deg 22' 23.40" W
|
516
514
|
ImageSize: 1280x720
|
517
515
|
Megapixels: 0.922
|
518
516
|
ScaleFactor35efl: 8.5
|
@@ -520,15 +518,18 @@ result:
|
|
520
518
|
denominator: 30
|
521
519
|
numerator: 1
|
522
520
|
ThumbnailImage: "(Binary data 3831 bytes, use -b option to extract)"
|
521
|
+
GPSLatitude: 43 deg 39' 11.40" N
|
522
|
+
GPSLongitude: 79 deg 22' 23.40" W
|
523
523
|
CircleOfConfusion: 0.004 mm
|
524
524
|
FOV: 54.4 deg
|
525
525
|
FocalLength35efl: '4.1 mm (35 mm equivalent: 35.0 mm)'
|
526
|
+
GPSPosition: 43 deg 39' 11.40" N, 79 deg 22' 23.40" W
|
526
527
|
HyperfocalDistance: 2.00 m
|
527
528
|
LightValue: 5.4
|
528
529
|
---
|
529
530
|
sample: read test_encodings.jpg
|
530
531
|
result:
|
531
|
-
ExifToolVersion:
|
532
|
+
ExifToolVersion: 11.7
|
532
533
|
FileSize: 660 bytes
|
533
534
|
FileType: JPEG
|
534
535
|
FileTypeExtension: jpg
|
@@ -547,7 +548,7 @@ result:
|
|
547
548
|
---
|
548
549
|
sample: read test_special_dates.jpg
|
549
550
|
result:
|
550
|
-
ExifToolVersion:
|
551
|
+
ExifToolVersion: 11.7
|
551
552
|
FileSize: 3.7 kB
|
552
553
|
FileType: JPEG
|
553
554
|
FileTypeExtension: jpg
|
data/test/test_read_numerical.rb
CHANGED
@@ -30,4 +30,11 @@ class TestReadNumerical < TestCase
|
|
30
30
|
assert_kind_of String, @mini_exiftool_num['SupplementalCategories']
|
31
31
|
end
|
32
32
|
|
33
|
+
# Catching github issue [#40]
|
34
|
+
# Values with leading zeros can have further zeros in it
|
35
|
+
# Thanks to jvradelis
|
36
|
+
def test_digits_starting_with_zero_and_has_further_zeros
|
37
|
+
assert_equal '0300', @mini_exiftool_num['PrintIMVersion']
|
38
|
+
end
|
39
|
+
|
33
40
|
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.10.
|
4
|
+
version: 2.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Friedrich
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -68,7 +68,7 @@ dependencies:
|
|
68
68
|
version: '2'
|
69
69
|
description: |
|
70
70
|
This library is a wrapper for the ExifTool command-line application
|
71
|
-
(
|
71
|
+
(https://exiftool.org) written by Phil Harvey.
|
72
72
|
It provides the full power of ExifTool to Ruby: reading and writing of
|
73
73
|
EXIF-data, IPTC-data and XMP-data.
|
74
74
|
email: janfri26@gmail.com
|
@@ -132,7 +132,7 @@ post_install_message: |
|
|
132
132
|
| Please ensure you have installed exiftool at least version 7.65 |
|
133
133
|
| and it's found in your PATH (Try "exiftool -ver" on your commandline).|
|
134
134
|
| For more details see |
|
135
|
-
|
|
135
|
+
| https://exiftool.org/install.html |
|
136
136
|
| You need also Ruby 1.9 or higher. |
|
137
137
|
| If you need support for Ruby 1.8 or exiftool prior 7.65 install |
|
138
138
|
| mini_exiftool version < 2.0.0. |
|
@@ -152,7 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
152
|
version: '0'
|
153
153
|
requirements: []
|
154
154
|
rubygems_version: 3.1.2
|
155
|
-
signing_key:
|
155
|
+
signing_key:
|
156
156
|
specification_version: 4
|
157
|
-
summary: This library is a wrapper for the ExifTool command-line application (
|
157
|
+
summary: This library is a wrapper for the ExifTool command-line application (https://exiftool.org).
|
158
158
|
test_files: []
|