exiftool-vendored.pl 12.41.0 → 12.44.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.
- package/bin/Changes +60 -1
- package/bin/META.json +1 -1
- package/bin/META.yml +1 -1
- package/bin/README +2 -2
- package/bin/exiftool +5 -4
- package/bin/lib/Image/ExifTool/Apple.pm +11 -2
- package/bin/lib/Image/ExifTool/Canon.pm +39 -24
- package/bin/lib/Image/ExifTool/DJI.pm +60 -1
- package/bin/lib/Image/ExifTool/DNG.pm +8 -2
- package/bin/lib/Image/ExifTool/DarwinCore.pm +13 -1
- package/bin/lib/Image/ExifTool/Exif.pm +9 -0
- package/bin/lib/Image/ExifTool/FlashPix.pm +23 -2
- package/bin/lib/Image/ExifTool/FujiFilm.pm +23 -2
- package/bin/lib/Image/ExifTool/GPS.pm +21 -1
- package/bin/lib/Image/ExifTool/Geotag.pm +24 -4
- package/bin/lib/Image/ExifTool/ICC_Profile.pm +10 -8
- package/bin/lib/Image/ExifTool/ID3.pm +5 -5
- package/bin/lib/Image/ExifTool/LNK.pm +5 -2
- package/bin/lib/Image/ExifTool/MakerNotes.pm +5 -0
- package/bin/lib/Image/ExifTool/Motorola.pm +8 -2
- package/bin/lib/Image/ExifTool/Nikon.pm +84 -29
- package/bin/lib/Image/ExifTool/NikonCustom.pm +4 -1
- package/bin/lib/Image/ExifTool/Olympus.pm +21 -2
- package/bin/lib/Image/ExifTool/PDF.pm +2 -1
- package/bin/lib/Image/ExifTool/Panasonic.pm +10 -1
- package/bin/lib/Image/ExifTool/Parrot.pm +96 -2
- package/bin/lib/Image/ExifTool/Pentax.pm +1 -1
- package/bin/lib/Image/ExifTool/Photoshop.pm +6 -5
- package/bin/lib/Image/ExifTool/QuickTime.pm +7 -1
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +41 -6
- package/bin/lib/Image/ExifTool/README +8 -2
- package/bin/lib/Image/ExifTool/Samsung.pm +233 -2
- package/bin/lib/Image/ExifTool/Shortcuts.pm +2 -1
- package/bin/lib/Image/ExifTool/Sony.pm +36 -28
- package/bin/lib/Image/ExifTool/TagLookup.pm +2528 -2483
- package/bin/lib/Image/ExifTool/TagNames.pod +192 -97
- package/bin/lib/Image/ExifTool/WritePhotoshop.pl +5 -5
- package/bin/lib/Image/ExifTool/Writer.pl +4 -3
- package/bin/lib/Image/ExifTool.pm +40 -16
- package/bin/lib/Image/ExifTool.pod +13 -4
- package/bin/perl-Image-ExifTool.spec +1 -1
- package/bin/pp_build_exe.args +4 -4
- package/package.json +3 -3
|
@@ -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);
|
|
31
31
|
|
|
32
|
-
$VERSION = '12.
|
|
32
|
+
$VERSION = '12.44';
|
|
33
33
|
$RELEASE = '';
|
|
34
34
|
@ISA = qw(Exporter);
|
|
35
35
|
%EXPORT_TAGS = (
|
|
@@ -2209,6 +2209,20 @@ sub Options($$;@)
|
|
|
2209
2209
|
} else {
|
|
2210
2210
|
$$options{$param} = undef; # clear the list
|
|
2211
2211
|
}
|
|
2212
|
+
} elsif ($param eq 'IgnoreTags') {
|
|
2213
|
+
if (defined $newVal) {
|
|
2214
|
+
# parse list from delimited string if necessary
|
|
2215
|
+
my @ignoreList = (ref $newVal eq 'ARRAY') ? @$newVal : ($newVal =~ /[-\w?*:]+/g);
|
|
2216
|
+
ExpandShortcuts(\@ignoreList);
|
|
2217
|
+
# add to existing tags to ignore
|
|
2218
|
+
$$options{$param} or $$options{$param} = { };
|
|
2219
|
+
foreach (@ignoreList) {
|
|
2220
|
+
/^(.*:)?([-\w?*]+)#?$/ or next;
|
|
2221
|
+
$$options{$param}{lc $2} = 1;
|
|
2222
|
+
}
|
|
2223
|
+
} else {
|
|
2224
|
+
$$options{$param} = undef; # clear the option
|
|
2225
|
+
}
|
|
2212
2226
|
} elsif ($param eq 'ListJoin') {
|
|
2213
2227
|
$$options{$param} = $newVal;
|
|
2214
2228
|
# set the old List and ListSep options for backward compatibility
|
|
@@ -2321,6 +2335,7 @@ sub ClearOptions($)
|
|
|
2321
2335
|
HtmlDump => 0, # HTML dump (0-3, higher # = bigger limit)
|
|
2322
2336
|
HtmlDumpBase => undef, # base address for HTML dump
|
|
2323
2337
|
IgnoreMinorErrors => undef, # ignore minor errors when reading/writing
|
|
2338
|
+
IgnoreTags => undef, # list of tags to ignore when extracting
|
|
2324
2339
|
Lang => $defaultLang,# localized language for descriptions etc
|
|
2325
2340
|
LargeFileSupport => undef, # flag indicating support of 64-bit file offsets
|
|
2326
2341
|
List => undef, # extract lists of PrintConv values into arrays [no longer documented]
|
|
@@ -5863,7 +5878,7 @@ sub GetUnixTime($;$)
|
|
|
5863
5878
|
{
|
|
5864
5879
|
my ($timeStr, $isLocal) = @_;
|
|
5865
5880
|
return 0 if $timeStr eq '0000:00:00 00:00:00';
|
|
5866
|
-
my @tm = ($timeStr =~ /^(\d+)
|
|
5881
|
+
my @tm = ($timeStr =~ /^(\d+)[-:](\d+)[-:](\d+)\s+(\d+):(\d+):(\d+)(.*)/);
|
|
5867
5882
|
return undef unless @tm == 7;
|
|
5868
5883
|
unless (eval { require Time::Local }) {
|
|
5869
5884
|
warn "Time::Local is not installed\n";
|
|
@@ -5896,13 +5911,13 @@ sub GetUnixTime($;$)
|
|
|
5896
5911
|
sub ConvertFileSize($)
|
|
5897
5912
|
{
|
|
5898
5913
|
my $val = shift;
|
|
5899
|
-
$val <
|
|
5900
|
-
$val <
|
|
5901
|
-
$val <
|
|
5902
|
-
$val <
|
|
5903
|
-
$val <
|
|
5904
|
-
$val <
|
|
5905
|
-
return sprintf('%.0f
|
|
5914
|
+
$val < 2000 and return "$val bytes";
|
|
5915
|
+
$val < 10000 and return sprintf('%.1f kB', $val / 1000);
|
|
5916
|
+
$val < 2000000 and return sprintf('%.0f kB', $val / 1000);
|
|
5917
|
+
$val < 10000000 and return sprintf('%.1f MB', $val / 1000000);
|
|
5918
|
+
$val < 2000000000 and return sprintf('%.0f MB', $val / 1000000);
|
|
5919
|
+
$val < 10000000000 and return sprintf('%.1f GB', $val / 1000000000);
|
|
5920
|
+
return sprintf('%.0f GB', $val / 1000000000);
|
|
5906
5921
|
}
|
|
5907
5922
|
|
|
5908
5923
|
#------------------------------------------------------------------------------
|
|
@@ -7686,8 +7701,8 @@ sub DoProcessTIFF($$;$)
|
|
|
7686
7701
|
# check DNG version
|
|
7687
7702
|
if ($$self{DNGVersion}) {
|
|
7688
7703
|
my $ver = $$self{DNGVersion};
|
|
7689
|
-
# currently support up to DNG version 1.
|
|
7690
|
-
unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= 1.
|
|
7704
|
+
# currently support up to DNG version 1.6
|
|
7705
|
+
unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= 1.6) {
|
|
7691
7706
|
$ver =~ tr/ /./;
|
|
7692
7707
|
$self->Error("DNG Version $ver not yet tested", 1);
|
|
7693
7708
|
}
|
|
@@ -7955,11 +7970,11 @@ sub GetTagInfo($$$;$$$)
|
|
|
7955
7970
|
next;
|
|
7956
7971
|
}
|
|
7957
7972
|
}
|
|
7958
|
-
|
|
7959
|
-
|
|
7960
|
-
|
|
7973
|
+
# don't return Unknown tags unless that option is set (also see forum13716)
|
|
7974
|
+
if ($$tagInfo{Unknown} and not $$self{OPTIONS}{Unknown} and not
|
|
7975
|
+
($$self{OPTIONS}{Verbose} or $$self{HTML_DUMP} or
|
|
7976
|
+
($$self{OPTIONS}{Validate} and not $$tagInfo{AddedUnknown})))
|
|
7961
7977
|
{
|
|
7962
|
-
# don't return Unknown tags unless that option is set
|
|
7963
7978
|
return undef;
|
|
7964
7979
|
}
|
|
7965
7980
|
# return the tag information we found
|
|
@@ -7984,6 +7999,7 @@ sub GetTagInfo($$$;$$$)
|
|
|
7984
7999
|
Unknown => 1,
|
|
7985
8000
|
Writable => 0, # can't write unknown tags
|
|
7986
8001
|
PrintConv => $printConv,
|
|
8002
|
+
AddedUnknown => 1,
|
|
7987
8003
|
};
|
|
7988
8004
|
# add tag information to table
|
|
7989
8005
|
AddTagToTable($tagTablePtr, $tagID, $tagInfo);
|
|
@@ -8233,6 +8249,14 @@ sub FoundTag($$$;@)
|
|
|
8233
8249
|
$self->Warn("RawConv $tag: " . CleanWarning()) if $evalWarning;
|
|
8234
8250
|
return undef unless defined $value;
|
|
8235
8251
|
}
|
|
8252
|
+
# ignore specified tags (AFTER doing RawConv if necessary!)
|
|
8253
|
+
if ($$options{IgnoreTags}) {
|
|
8254
|
+
if ($$options{IgnoreTags}{all}) {
|
|
8255
|
+
return undef unless $$self{REQ_TAG_LOOKUP}{lc $tag};
|
|
8256
|
+
} else {
|
|
8257
|
+
return undef if $$options{IgnoreTags}{lc $tag};
|
|
8258
|
+
}
|
|
8259
|
+
}
|
|
8236
8260
|
# handle duplicate tag names
|
|
8237
8261
|
if (defined $$valueHash{$tag}) {
|
|
8238
8262
|
# add to list if there is an active list for this tag
|
|
@@ -8444,7 +8468,7 @@ sub SetFileType($;$$$)
|
|
|
8444
8468
|
|
|
8445
8469
|
#------------------------------------------------------------------------------
|
|
8446
8470
|
# Override the FileType and MIMEType tags
|
|
8447
|
-
# Inputs: 0) ExifTool object ref, 1) file type, 2) MIME type, 3) normal extension
|
|
8471
|
+
# Inputs: 0) ExifTool object ref, 1) file type, 2) MIME type, 3) normal extension (lower case)
|
|
8448
8472
|
# Notes: does nothing if FileType was not previously defined (ie. when writing)
|
|
8449
8473
|
sub OverrideFileType($$;$$)
|
|
8450
8474
|
{
|
|
@@ -776,6 +776,15 @@ images even if they don't have a recognizable header). Minor errors and
|
|
|
776
776
|
warnings are denoted by "[minor]" at the start of the message, or "[Minor]"
|
|
777
777
|
(with a capital "M") for warnings that affect processing when ignored.
|
|
778
778
|
|
|
779
|
+
=item IgnoreTags
|
|
780
|
+
|
|
781
|
+
List of tag names to ignore when reading. This may help in situations where
|
|
782
|
+
memory is limited because the ignored tag values are not stored in memory.
|
|
783
|
+
The tag names are case insensitive and group names and wildcards are not
|
|
784
|
+
allowed. A special tag name of "All" may be used to ignore all tags except
|
|
785
|
+
those specified by the L</RequestTags> option. Set to undef to clear the
|
|
786
|
+
previous IgnoreTags list. Default is undef.
|
|
787
|
+
|
|
779
788
|
=item Lang
|
|
780
789
|
|
|
781
790
|
Localized language for exiftool tag descriptions, etc. Available languages
|
|
@@ -1103,10 +1112,10 @@ L</ExtractInfo>:
|
|
|
1103
1112
|
Binary, Charset, CharsetEXIF, CharsetFileName, CharsetID3, CharsetIPTC,
|
|
1104
1113
|
CharsetPhotoshop, CharsetQuickTime, CharsetRIFF, Composite, ExtendedXMP,
|
|
1105
1114
|
ExtractEmbedded, FastScan, FixBase, HtmlDump, HtmlDumpBase,
|
|
1106
|
-
IgnoreMinorErrors, Lang, LargeFileSupport, MakerNotes,
|
|
1107
|
-
NoPDFList, Password, QuickTimeUTC (enforced 1904 time zero),
|
|
1108
|
-
RequestTags, SaveFormat, SavePath, ScanForXMP, Struct, TextOut,
|
|
1109
|
-
Verbose, XAttrTags and XMPAutoConv.
|
|
1115
|
+
IgnoreMinorErrors, IgnoreTags, Lang, LargeFileSupport, MakerNotes,
|
|
1116
|
+
MDItemTags, NoPDFList, Password, QuickTimeUTC (enforced 1904 time zero),
|
|
1117
|
+
RequestAll, RequestTags, SaveFormat, SavePath, ScanForXMP, Struct, TextOut,
|
|
1118
|
+
Unknown, Verbose, XAttrTags and XMPAutoConv.
|
|
1110
1119
|
|
|
1111
1120
|
=item Return Value:
|
|
1112
1121
|
|
package/bin/pp_build_exe.args
CHANGED
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
# 10) Copy zip archive to web servers.
|
|
22
22
|
# 11) Update zip file version in link and text of html/index.html.
|
|
23
23
|
#------------------------------------------------------------------------------
|
|
24
|
-
-T exiftool-12.
|
|
25
|
-
#--info=FileVersion=12.4.
|
|
26
|
-
#--info=ProductVersion=12.4.
|
|
27
|
-
##"--info=Build Date=2022:
|
|
24
|
+
-T exiftool-12.44
|
|
25
|
+
#--info=FileVersion=12.4.4.0
|
|
26
|
+
#--info=ProductVersion=12.4.4.0
|
|
27
|
+
##"--info=Build Date=2022:07:21 06:23:10-04:00"
|
|
28
28
|
##"--info=Bundled Perl Version=ActivePerl 5.24.0"
|
|
29
29
|
##"--info=LegalCopyright=Copyright (c) 2003-2022, Phil Harvey"
|
|
30
30
|
##"--info=ProductName=ExifTool"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "exiftool-vendored.pl",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.44.0",
|
|
4
4
|
"description": "Vendored perl ExifTool for Node.js",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"homepage": "https://github.com/mceachen/exiftool-vendored.pl#readme",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"mocha": "^
|
|
46
|
-
"prettier": "^2.
|
|
45
|
+
"mocha": "^10.0.0",
|
|
46
|
+
"prettier": "^2.7.1",
|
|
47
47
|
"rimraf": "^3.0.2"
|
|
48
48
|
}
|
|
49
49
|
}
|