exiftool_vendored 11.55.0 → 11.57.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.
@@ -17,7 +17,7 @@ package Image::ExifTool::Validate;
17
17
  use strict;
18
18
  use vars qw($VERSION %exifSpec);
19
19
 
20
- $VERSION = '1.16';
20
+ $VERSION = '1.17';
21
21
 
22
22
  use Image::ExifTool qw(:Utils);
23
23
  use Image::ExifTool::Exif;
@@ -554,7 +554,7 @@ sub FinishValidate($$)
554
554
  undef $ver unless $ver =~ /^\d{4}$/; # (already warned if invalid version)
555
555
  }
556
556
  # get all tags in this group
557
- foreach $key (keys %{$$et{VALUE}}) {
557
+ foreach $key (sort keys %{$$et{VALUE}}) {
558
558
  next unless $et->GetGroup($key, 1) eq $grp;
559
559
  next if $$et{TAG_EXTRA}{$key} and $$et{TAG_EXTRA}{$key}{G3}; # ignore sub-documents
560
560
  # fill in %val lookup with values based on tag ID
@@ -905,6 +905,7 @@ sub WriteXMP($$;$)
905
905
  }
906
906
  }
907
907
  foreach $tagInfo (@tagInfoList) {
908
+ my @delPaths; # list of deleted paths
908
909
  my $tag = $$tagInfo{TagID};
909
910
  my $path = GetPropertyPath($tagInfo);
910
911
  unless ($path) {
@@ -1033,7 +1034,7 @@ sub WriteXMP($$;$)
1033
1034
  # take attributes from old values if they exist
1034
1035
  %attrs = %{$$cap[1]};
1035
1036
  if ($overwrite) {
1036
- my ($delPath, $oldLang, $delLang, $addLang, @matchingPaths);
1037
+ my ($oldLang, $delLang, $addLang, @matchingPaths);
1037
1038
  # check to see if this is an indexed list item
1038
1039
  if ($path =~ / /) {
1039
1040
  my $pp;
@@ -1092,10 +1093,8 @@ sub WriteXMP($$;$)
1092
1093
  }
1093
1094
  # save attributes and path from first deleted property
1094
1095
  # so we can replace it exactly
1095
- unless ($delPath) {
1096
- %attrs = %$attrs;
1097
- $delPath = $path;
1098
- }
1096
+ %attrs = %$attrs unless @delPaths;
1097
+ push @delPaths, $path;
1099
1098
  # delete this tag
1100
1099
  delete $capture{$path};
1101
1100
  ++$changed;
@@ -1106,9 +1105,9 @@ sub WriteXMP($$;$)
1106
1105
  delete $capture{"$pp/rdf:type"} if @a == 1;
1107
1106
  }
1108
1107
  }
1109
- next unless $delPath or $$tagInfo{List} or $addLang;
1110
- if ($delPath) {
1111
- $path = $delPath;
1108
+ next unless @delPaths or $$tagInfo{List} or $addLang;
1109
+ if (@delPaths) {
1110
+ $path = shift @delPaths;
1112
1111
  $deleted = 1;
1113
1112
  } else {
1114
1113
  # don't change tag if we couldn't delete old copy
@@ -1220,11 +1219,14 @@ sub WriteXMP($$;$)
1220
1219
  my $idx = $1;
1221
1220
  my $len = length $1;
1222
1221
  my $pos = pos($path) - $len - ($2 ? length $2 : 0);
1223
- # generate unique list sub-indices to store additional values in sequence
1222
+ # use sub-indices if necessary to store additional values in sequence
1224
1223
  if ($subIdx) {
1225
1224
  $idx = substr($idx, 0, -length($subIdx)); # remove old sub-index
1226
1225
  $subIdx = substr($subIdx, 1) + 1;
1227
1226
  $subIdx = length($subIdx) . $subIdx;
1227
+ } elsif (@delPaths) {
1228
+ $path = shift @delPaths;
1229
+ next;
1228
1230
  } else {
1229
1231
  $subIdx = '10';
1230
1232
  }
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 11.55
3
+ Version: 11.57
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.55.0')
4
+ VERSION = Gem::Version.new('11.57.0')
5
5
  end
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.55.0
4
+ version: 11.57.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-07-13 00:00:00.000000000 Z
12
+ date: 2019-07-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exiftool