exiftool_vendored 13.58.0 → 13.59.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.
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
29
29
  %jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
30
30
  %static_vars $advFmtSelf $configFile @configFiles $noConfig);
31
31
 
32
- $VERSION = '13.58';
32
+ $VERSION = '13.59';
33
33
  $RELEASE = '';
34
34
  @ISA = qw(Exporter);
35
35
  %EXPORT_TAGS = (
@@ -121,6 +121,7 @@ sub CopyFileAttrs($$$);
121
121
  sub TimeNow(;$$);
122
122
  sub InverseDateTime($$;$$);
123
123
  sub NewGUID();
124
+ sub NewUUID();
124
125
  sub MakeTiffHeader($$$$;$$);
125
126
 
126
127
  # other subroutine definitions
@@ -1919,6 +1920,15 @@ my %systemTagsNotes = (
1919
1920
  },
1920
1921
  PrintConv => '$val =~ s/(.{8})(.{4})(.{4})(.{4})/$1-$2-$3-$4-/; $val',
1921
1922
  },
1923
+ NewUUID => {
1924
+ Groups => { 0 => 'ExifTool', 1 => 'ExifTool', 2 => 'Other' },
1925
+ Notes => q{
1926
+ generates a version 4 ("random"), variant 1 UUID as per RFC 9562, Section
1927
+ 5.4. Not generated unless specifically requested or the API L<RequestAll|../ExifTool.html#RequestAll>
1928
+ option is set
1929
+ },
1930
+ PrintConv => '$val =~ s/(.{8})(.{4})(.{4})(.{4})/$1-$2-$3-$4-/; $val',
1931
+ },
1922
1932
  ID3Size => { Notes => 'size of the ID3 data block' },
1923
1933
  Geotag => {
1924
1934
  Writable => 1,
@@ -2769,6 +2779,7 @@ sub ExtractInfo($;@)
2769
2779
  $self->FoundTag('ExifToolVersion', "$VERSION$RELEASE");
2770
2780
  $self->FoundTag('Now', $self->TimeNow()) if $$req{now} or $reqAll;
2771
2781
  $self->FoundTag('NewGUID', NewGUID()) if $$req{newguid} or $reqAll;
2782
+ $self->FoundTag('NewUUID', NewUUID()) if $$req{newuuid} or $reqAll;
2772
2783
  # generate sequence number if necessary
2773
2784
  $self->FoundTag('FileSequence', $$self{FILE_SEQUENCE}) if $$req{filesequence} or $reqAll;
2774
2785
 
@@ -3386,7 +3397,7 @@ sub GetTagList($;$$$)
3386
3397
  $$fileOrder{$a} <=> $$fileOrder{$b} } @$foundTags;
3387
3398
  } elsif ($sort eq 'Descr') {
3388
3399
  my $desc = $self->GetDescriptions($foundTags);
3389
- return sort { $$desc{$a} cmp $$desc{$b} } @$foundTags;
3400
+ return sort { $$desc{$a} cmp $$desc{$b} or $a cmp $b } @$foundTags;
3390
3401
  } else {
3391
3402
  return sort { $$fileOrder{$a} <=> $$fileOrder{$b} } @$foundTags;
3392
3403
  }
@@ -5409,7 +5420,7 @@ sub SetFoundTags($)
5409
5420
  # put entry in return list even without value (value is undef)
5410
5421
  $matches[0] = $byValue ? "$tag #(0)" : "$tag (0)";
5411
5422
  # bogus file order entry to avoid warning if sorting in file order
5412
- $$self{FILE_ORDER}{$matches[0]} = 9999;
5423
+ $$self{FILE_ORDER}{$matches[0]} = 999999999;
5413
5424
  }
5414
5425
  # copy over necessary information for tags from alternate files
5415
5426
  if ($g8) {
@@ -10169,7 +10180,7 @@ sub ProcessBinaryData($$$)
10169
10180
  push @configFiles, $configFile if defined $configFile;
10170
10181
  until ($noConfig) {
10171
10182
  my $config = shift @configFiles;
10172
- my $file;
10183
+ my ($file, $wasConfig);
10173
10184
  if (not defined $config) {
10174
10185
  $config = '.ExifTool_config';
10175
10186
  # get our home directory (HOMEDRIVE and HOMEPATH are used in Windows cmd shell)
@@ -10180,17 +10191,34 @@ until ($noConfig) {
10180
10191
  } else {
10181
10192
  length $config or last; # filename of "" disables configuration
10182
10193
  $file = $config;
10194
+ $wasConfig = 1;
10183
10195
  }
10184
- # also check executable directory unless path is absolute
10185
- $exeDir = ($0 =~ /(.*)[\\\/]/) ? $1 : '.' unless defined $exeDir;
10186
- -r $file or $config =~ /^\// or $file = "$exeDir/$config";
10187
- unless (-r $file) {
10188
- warn("Config file not found\n") if defined $Image::ExifTool::configFile;
10189
- last;
10196
+ if ($file eq '-') {
10197
+ local *FH;
10198
+ if (open(\*FH, '<-')) {
10199
+ my $buff;
10200
+ my $n = read(\*FH, $buff, 100000000);
10201
+ close \*FH;
10202
+ if ($n == 100000000) {
10203
+ warn("Piped config file is too large\n");
10204
+ } elsif ($n) {
10205
+ eval $buff;
10206
+ } else {
10207
+ undef $@;
10208
+ }
10209
+ }
10210
+ } else {
10211
+ # also check executable directory unless path is absolute
10212
+ $exeDir = ($0 =~ /(.*)[\\\/]/) ? $1 : '.' unless defined $exeDir;
10213
+ -r $file or $config =~ /^\// or $file = "$exeDir/$config";
10214
+ unless (-r $file) {
10215
+ warn("Config file not found\n") if $wasConfig;
10216
+ last;
10217
+ }
10218
+ unshift @INC, '.'; # look in current directory first
10219
+ eval { require $file }; # load the config file
10220
+ shift @INC;
10190
10221
  }
10191
- unshift @INC, '.'; # look in current directory first
10192
- eval { require $file }; # load the config file
10193
- shift @INC;
10194
10222
  # print warning (minus "Compilation failed" part)
10195
10223
  $@ and $_=$@, s/Compilation failed.*//s, warn $_;
10196
10224
  last unless @configFiles;
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 13.58
3
+ Version: 13.59
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('13.58.0')
4
+ VERSION = Gem::Version.new('13.59.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: 13.58.0
4
+ version: 13.59.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew McEachen
@@ -63,6 +63,7 @@ files:
63
63
  - bin/config_files/guano.config
64
64
  - bin/config_files/local_time.config
65
65
  - bin/config_files/nksc.config
66
+ - bin/config_files/novelty.config
66
67
  - bin/config_files/onone.config
67
68
  - bin/config_files/photoshop_paths.config
68
69
  - bin/config_files/picasa_faces.config