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.

@@ -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 inidividual tags but not new groups
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
- unless ($blockExifTypes{$$self{FILE_TYPE}}) {
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
  }
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 11.42
3
+ Version: 11.43
4
4
  Release: 1
5
5
  License: Artistic/GPL
6
6
  Group: Development/Libraries/Perl
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExiftoolVendored
4
- VERSION = Gem::Version.new('11.42.5')
4
+ VERSION = Gem::Version.new('11.43.0')
5
5
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  # This is only used by the rake 'update_exiftool' task.
4
4
  module ExiftoolVendored
5
- PATCHLEVEL = 5
5
+ PATCHLEVEL = 0
6
6
 
7
7
  def self.extract_version
8
8
  require 'exiftool'
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.42.5
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-13 00:00:00.000000000 Z
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