From e1e7dddfbdb487a2cce4be2b2f080e723e56c7f3 Mon Sep 17 00:00:00 2001 From: Kevin Backhouse Date: Wed, 15 Sep 2021 16:32:18 +0100 Subject: [PATCH] Fix test failure. --- src/exiv2.cpp | 14 +-- test/data/exiv2-test.out | 207 ++++++++++++++++++++++----------------- 2 files changed, 126 insertions(+), 95 deletions(-) diff --git a/src/exiv2.cpp b/src/exiv2.cpp index 7334b140..03492097 100644 --- a/src/exiv2.cpp +++ b/src/exiv2.cpp @@ -266,7 +266,7 @@ void Params::help(std::ostream& os) const << _("\nActions:\n") << _(" pr | print Print image metadata (default is a summary). This is the default\n" " action\n") - << _(" ad | adjust Adjust Exif timestamps by the given time. Requires \n" + << _(" ad | adjust Adjust Exif timestamps by the given time. Requires\n" " at least one of -a, -Y, -O or -D\n") << _(" rm | delete Deletes image metadata, use -d to choose type to delete\n" " (default is all)\n") @@ -276,14 +276,14 @@ void Params::help(std::ostream& os) const << _(" ex | extract Extract metadata to .exv, .xmp, preview image, thumbnail,\n" " or ICC profile. Use option -S to change the suffix of the input\n" " files and -l to change the location\n") - << _(" mv | rename Rename files and/or set file timestamps according to the \n" - " Exif timestamps. The filename format can be set with \n" + << _(" mv | rename Rename files and/or set file timestamps according to the\n" + " Exif timestamps. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T\n") - << _(" mo | modify Apply commands to modify the Exif, IPTC and XMP metadata. \n" + << _(" mo | modify Apply commands to modify the Exif, IPTC and XMP metadata.\n" " Requires option -m or -M\n") - << _(" fi | fixiso Copy ISO setting from Canon and Nikon makernotes, to the \n" + << _(" fi | fixiso Copy ISO setting from Canon and Nikon makernotes, to the\n" " standard Exif tag\n") - << _(" fc | fixcom Convert the Unicode Exif user comment to UCS-2. The current \n" + << _(" fc | fixcom Convert the Unicode Exif user comment to UCS-2. The current\n" " character encoding can be specified with the -n option\n") << _("\nOptions:\n") << _(" -h Display this help and exit\n") @@ -293,7 +293,7 @@ void Params::help(std::ostream& os) const << _(" -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute)\n") << _(" -b Obsolete, reserved for use with the test suit\n") << _(" -u Show unknown tags (e.g., Exif.SonyMisc3c.0x022b)\n") - << _(" -g str Only output where 'str' matches in output text (grep) \n" + << _(" -g str Only output where 'str' matches in output text (grep)\n" " Append /i to 'str' for case insensitive\n") << _(" -K key Only output where 'key' exactly matches tag's key\n") << _(" -n enc Character set to decode Exif Unicode user comments\n") diff --git a/test/data/exiv2-test.out b/test/data/exiv2-test.out index 307ebfde..87513594 100644 --- a/test/data/exiv2-test.out +++ b/test/data/exiv2-test.out @@ -20,111 +20,142 @@ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Exiv2 help --------------------------------------------------------------- -Usage: exiv2 [ options ] [ action ] file ... +Usage: exiv2 [ option [ arg ] ]+ [ action ] file ... -Manipulate the Exif metadata of images. +Image metadata manipulation tool. + +Where file is one or more files, optionally containing a URL +(http, https, ftp, sftp, data or file) or wildcard Actions: - ad | adjust Adjust Exif timestamps by the given time. This action - requires at least one of the -a, -Y, -O or -D options. - pr | print Print image metadata. - rm | delete Delete image metadata from the files. - in | insert Insert metadata from corresponding *.exv files. - Use option -S to change the suffix of the input files. - ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files. + pr | print Print image metadata (default is a summary). This is the default + action + ad | adjust Adjust Exif timestamps by the given time. Requires + at least one of -a, -Y, -O or -D + rm | delete Deletes image metadata, use -d to choose type to delete + (default is all) + in | insert Insert metadata from .exv, .xmp, thumbnail or .icc file. + Use option -S to change the suffix of the input files and + -l to change the location + ex | extract Extract metadata to .exv, .xmp, preview image, thumbnail, + or ICC profile. Use option -S to change the suffix of the input + files and -l to change the location mv | rename Rename files and/or set file timestamps according to the - Exif create timestamp. The filename format can be set with - -r format, timestamp options are controlled with -t and -T. - mo | modify Apply commands to modify (add, set, delete) the Exif and - IPTC metadata of image files or set the JPEG comment. - Requires option -c, -m or -M. - fi | fixiso Copy ISO setting from the Nikon Makernote to the regular - Exif tag. - fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current - character encoding can be specified with the -n option. + Exif timestamps. The filename format can be set with + -r format, timestamp options are controlled with -t and -T + mo | modify Apply commands to modify the Exif, IPTC and XMP metadata. + Requires option -m or -M + fi | fixiso Copy ISO setting from Canon and Nikon makernotes, to the + standard Exif tag + fc | fixcom Convert the Unicode Exif user comment to UCS-2. The current + character encoding can be specified with the -n option Options: - -h Display this help and exit. - -V Show the program version and exit. - -v Be verbose during the program run. - -q Silence warnings and error messages during the program run (quiet). - -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute). - -b Show large binary values. - -u Show unknown tags. - -g key Only output info for this key (grep). - -K key Only output info for this key (exact match). - -n enc Charset to use to decode UNICODE Exif user comments. - -k Preserve file timestamps (keep). - -t Also set the file timestamp in 'rename' action (overrides -k). - -T Only set the file timestamp in 'rename' action, do not rename - the file (overrides -k). - -f Do not prompt before overwriting existing files (force). - -F Do not prompt before renaming files (Force). - -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option - is only used with the 'adjust' action. - -Y yrs Year adjustment with the 'adjust' action. - -O mon Month adjustment with the 'adjust' action. - -D day Day adjustment with the 'adjust' action. + -h Display this help and exit + -V Show the program version and exit + -v Be verbose during the program run + -q Silence warnings and error messages (quiet) + -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute) + -b Obsolete, reserved for use with the test suit + -u Show unknown tags (e.g., Exif.SonyMisc3c.0x022b) + -g str Only output where 'str' matches in output text (grep) + Append /i to 'str' for case insensitive + -K key Only output where 'key' exactly matches tag's key + -n enc Character set to decode Exif Unicode user comments + -k Preserve file timestamps when updating files (keep) + -t Set the file timestamp from Exif metadata when renaming (overrides -k) + -T Only set the file timestamp from Exif metadata ('rename' action) + -f Do not prompt before overwriting existing files (force) + -F Do not prompt before renaming files (Force) + -a time Time adjustment in the format [+|-]HH[:MM[:SS]]. For 'adjust' action + -Y yrs Year adjustment with the 'adjust' action + -O mon Month adjustment with the 'adjust' action + -D day Day adjustment with the 'adjust' action -p mode Print mode for the 'print' action. Possible modes are: - s : print a summary of the Exif metadata (the default) - a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct) - e : print Exif metadata (shortcut for -PEkycv) - t : interpreted (translated) Exif data (-PEkyct) - v : plain Exif data values (-PExgnycv) - h : hexdump of the Exif data (-PExgnycsh) - i : IPTC data values (-PIkyct) - x : XMP properties (-PXkyct) + s : A summary of the Exif metadata (the default) + a : Exif, IPTC and XMP tags (shortcut for -Pkyct) + e : Exif tags (shortcut for -PEkycv) + t : Interpreted (translated) Exif tags (-PEkyct) + v : Plain (untranslated) Exif tags values (-PExgnycv) + h : Hex dump of the Exif tags (-PExgnycsh) + i : IPTC tags (-PIkyct) + x : XMP tags (-PXkyct) c : JPEG comment - p : list available previews - C : print ICC profile embedded in image - R : recursive print structure of image - S : print structure of image - X : extract XMP from image + p : List available image preview, sorted by size + C : Print ICC profile + R : Recursive print structure of image (debug build only) + S : Print structure of image (limited file types) + X : Extract "raw" XMP -P flgs Print flags for fine control of tag lists ('print' action): - E : include Exif tags in the list - I : IPTC datasets - X : XMP properties - x : print a column with the tag number - g : group name - k : key - l : tag label - n : tag name - y : type - c : number of components (count) - s : size in bytes - v : plain data value - t : interpreted (translated) data - h : hexdump of the data - -d tgt Delete target(s) for the 'delete' action. Possible targets are: - a : all supported metadata (the default) - e : Exif section + E : Exif tags + I : IPTC tags + X : XMP tags + x : Tag number (Exif and IPTC only) + g : Group name (e.g. Exif.Photo.UserComment, Photo) + k : Key (e.g. Exif.Photo.UserComment) + l : Tag label (e.g. Exif.Photo.UserComment, 'User comment') + n : Tag name (e.g. Exif.Photo.UserComment, UserComment) + y : Type + c : Number of components (count) + s : Size in bytes (Ascii and Comment types include NULL) + v : Plain data value, untranslated (vanilla) + t : Interpreted (translated) human readable values + h : Hex dump of the data + -d tgt1 Delete target(s) for the 'delete' action. Possible targets are: + a : All supported metadata (the default) + e : Exif tags t : Exif thumbnail only - i : IPTC data - x : XMP packet + i : IPTC tags + x : XMP tags + c : JPEG comment + C : ICC Profile + c : All IPTC data (any broken multiple IPTC blocks) + - : Input from stdin + -i tgt2 Insert target(s) for the 'insert' action. Possible targets are + a : All supported metadata (the default) + e : Exif tags + t : Exif thumbnail only (JPEGs only from -thumb.jpg) + i : IPTC tags + x : XMP tags c : JPEG comment - -i tgt Insert target(s) for the 'insert' action. Possible targets are - the same as those for the -d option, plus a modifier: - X : Insert metadata from an XMP sidecar file .xmp - Only JPEG thumbnails can be inserted, they need to be named - -thumb.jpg - -e tgt Extract target(s) for the 'extract' action. Possible targets - are the same as those for the -d option, plus a target to extract - preview images and a modifier to generate an XMP sidecar file: - p[[, ...]] : Extract preview images. - X : Extract metadata to an XMP sidecar file .xmp + C : ICC Profile, from .icc + X : XMP sidecar from file .xmp + XX: "raw" metadata from .exv. XMP default, optional Exif and IPTC + - : Input from stdin + -e tgt3 Extract target(s) for the 'extract' action. Possible targets + a : All supported metadata (the default) + e : Exif tags + t : Exif thumbnail only (to -thumb.jpg) + i : IPTC tags + x : XMP tags + c : JPEG comment + pN: Extract N'th preview image to -preview. + C : ICC Profile, to .icc + X : XMP sidecar to .xmp + XX: "raw" metadata to .exv. XMP default, optional Exif and IPTC + - : Output to stdin -r fmt Filename format for the 'rename' action. The format string - follows strftime(3). The following keywords are supported: + follows strftime(3). The following keywords are also supported: :basename: - original filename without extension :dirname: - name of the directory holding the original file :parentname: - name of parent directory - Default filename format is %Y%m%d_%H%M%S. + Default 'fmt' is %Y%m%d_%H%M%S -c txt JPEG comment string to set in the image. - -m file Command file for the modify action. The format for commands is - set|add|del [[] ]. - -M cmd Command line for the modify action. The format for the - commands is the same as that of the lines of a command file. + -m cmdf Applies commands in 'cmdf' file, for the modify action (see -M for format). + -M cmd Command line for the modify action. The format is: + ( (set | add) [[] ] | + del [] | + reg prefix namespace ) -l dir Location (directory) for files to be inserted from or extracted to. - -S .suf Use suffix .suf for source files for insert command. + -S suf Use suffix 'suf' for source files for insert action. + +Examples: + exiv2 -pe image.dng *.jp2 + Print all Exif tags in image.dng and all .jp2 files + exiv2 -g date/i https://clanmills.com/Stonehenge.jpg + Print all tags in file, where key contains 'date' (case insensitive) + exiv2 -M"set Xmp.dc.subject XmpBag Sky" image.tiff + Set (or add if missing) value to tag in file Adjust -------------------------------------------------------------------