exiftool_vendored 11.42.5 → 11.43.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +20 -2
- data/bin/MANIFEST +4 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +5 -3
- data/bin/lib/Image/ExifTool.pm +5 -1
- data/bin/lib/Image/ExifTool/Canon.pm +6 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +41 -11
- data/bin/lib/Image/ExifTool/TagLookup.pm +2356 -2355
- data/bin/lib/Image/ExifTool/TagNames.pod +5 -3
- data/bin/lib/Image/ExifTool/WriteExif.pl +14 -7
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +456 -34
- data/bin/lib/Image/ExifTool/Writer.pl +31 -3
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- data/lib/exiftool_vendored/version_extractor.rb +1 -1
- metadata +16 -2
@@ -119,6 +119,15 @@ my %writableType = (
|
|
119
119
|
XMP => [ undef, 'WriteXMP' ],
|
120
120
|
);
|
121
121
|
|
122
|
+
# RAW file types
|
123
|
+
my %rawType = (
|
124
|
+
'3FR'=> 1, CR3 => 1, IIQ => 1, NEF => 1, RW2 => 1,
|
125
|
+
ARQ => 1, CRW => 1, K25 => 1, NRW => 1, RWL => 1,
|
126
|
+
ARW => 1, DCR => 1, KDC => 1, ORF => 1, SR2 => 1,
|
127
|
+
ARW => 1, ERF => 1, MEF => 1, PEF => 1, SRF => 1,
|
128
|
+
CR2 => 1, FFF => 1, MOS => 1, RAW => 1, SRW => 1,
|
129
|
+
);
|
130
|
+
|
122
131
|
# groups we are allowed to delete
|
123
132
|
# Notes:
|
124
133
|
# 1) these names must either exist in %dirMap, or be translated in InitWriteDirs())
|
@@ -267,7 +276,7 @@ my %ignorePrintConv = map { $_ => 1 } qw(OTHER BITMASK Notes);
|
|
267
276
|
# IsCreating - must be set for the tag to be added for the standard file types,
|
268
277
|
# otherwise just changed if it already exists. This may be
|
269
278
|
# overridden for file types with a PREFERRED metadata type.
|
270
|
-
# Set to 2 to create
|
279
|
+
# Set to 2 to create individual tags but not new groups
|
271
280
|
# EditOnly - flag set if tag should never be created (regardless of file type).
|
272
281
|
# If this is set, then IsCreating must be false
|
273
282
|
# CreateOnly - flag set if creating only (never edit existing tag)
|
@@ -3191,6 +3200,16 @@ sub IsSameFile($$$)
|
|
3191
3200
|
return $isSame;
|
3192
3201
|
}
|
3193
3202
|
|
3203
|
+
#------------------------------------------------------------------------------
|
3204
|
+
# Is this a raw file type?
|
3205
|
+
# Inputs: 0) Exiftool ref
|
3206
|
+
# Returns: true if FileType is a type of RAW image
|
3207
|
+
sub IsRawType($)
|
3208
|
+
{
|
3209
|
+
my $self = shift;
|
3210
|
+
return $rawType{$$self{FileType}};
|
3211
|
+
}
|
3212
|
+
|
3194
3213
|
#------------------------------------------------------------------------------
|
3195
3214
|
# Create directory for specified file
|
3196
3215
|
# Inputs: 0) ExifTool ref, 1) complete file name including path
|
@@ -3799,9 +3818,10 @@ sub InitWriteDirs($$;$)
|
|
3799
3818
|
$$nvHash{CreateGroups}{$preferredGroup};
|
3800
3819
|
} else {
|
3801
3820
|
# creating this directory if any tag is preferred and has a value
|
3821
|
+
# (unless group creation is disabled via the WriteMode option)
|
3802
3822
|
$isCreating = 1 if ($preferredGroup and $$nvHash{Value} and
|
3803
3823
|
$preferredGroup eq $self->GetGroup($tagInfo, 0)) and
|
3804
|
-
not $$nvHash{EditOnly}
|
3824
|
+
not $$nvHash{EditOnly} and $$self{OPTIONS}{WriteMode} =~ /g/;
|
3805
3825
|
}
|
3806
3826
|
# tag belongs to directory specified by WriteGroup, or by
|
3807
3827
|
# the Group0 name if WriteGroup not defined
|
@@ -3899,7 +3919,10 @@ sub WriteDirectory($$$;$)
|
|
3899
3919
|
$delFlag = ($$delGroup{$grp0} or $$delGroup{$grp1}) unless $permanentDir{$grp0};
|
3900
3920
|
# (never delete an entire QuickTime group)
|
3901
3921
|
if ($delFlag) {
|
3902
|
-
|
3922
|
+
if (($grp0 eq 'MakerNotes' or $grp1 eq 'MakerNotes') and $self->IsRawType()) {
|
3923
|
+
$self->WarnOnce("Can't delete MakerNotes from $$self{FileType} file",1);
|
3924
|
+
undef $grp1;
|
3925
|
+
} elsif (not $blockExifTypes{$$self{FILE_TYPE}}) {
|
3903
3926
|
# restrict delete logic to prevent entire tiff image from being killed
|
3904
3927
|
# (don't allow IFD0 to be deleted, and delete only ExifIFD if EXIF specified)
|
3905
3928
|
if ($$self{FILE_TYPE} eq 'PSD') {
|
@@ -3990,6 +4013,11 @@ sub WriteDirectory($$$;$)
|
|
3990
4013
|
my $newVal = $self->GetNewValue($nvHash);
|
3991
4014
|
unless (defined $newVal and length $newVal) {
|
3992
4015
|
return '' unless $dataPt or $$dirInfo{RAF}; # nothing to do if block never existed
|
4016
|
+
# don't allow MakerNotes to be removed from RAW files
|
4017
|
+
if ($blockName eq 'MakerNotes' and $rawType{$$self{FileType}}) {
|
4018
|
+
$self->Warn("Can't delete MakerNotes from $$self{VALUE}{FileType} file",1);
|
4019
|
+
return undef;
|
4020
|
+
}
|
3993
4021
|
$verb = 'Deleting';
|
3994
4022
|
$newVal = '';
|
3995
4023
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exiftool_vendored
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 11.
|
4
|
+
version: 11.43.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew McEachen
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-05-
|
12
|
+
date: 2019-05-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: exiftool
|
@@ -137,6 +137,20 @@ dependencies:
|
|
137
137
|
- - ">="
|
138
138
|
- !ruby/object:Gem::Version
|
139
139
|
version: '0'
|
140
|
+
- !ruby/object:Gem::Dependency
|
141
|
+
name: simplecov-console
|
142
|
+
requirement: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - ">="
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '0'
|
147
|
+
type: :development
|
148
|
+
prerelease: false
|
149
|
+
version_requirements: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
140
154
|
- !ruby/object:Gem::Dependency
|
141
155
|
name: yard
|
142
156
|
requirement: !ruby/object:Gem::Requirement
|