From cf5e346323926501a4da61bf734eafeb3009c176 Mon Sep 17 00:00:00 2001 From: Kjeldgaard Date: Mon, 22 Mar 2021 23:00:55 +0100 Subject: [PATCH 1/4] Function to add additional argument Added a function to parse additional initial arguments to exiftool. Signed-off-by: Kjeldgaard --- exiftool.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/exiftool.go b/exiftool.go index a98c3d9..9da944a 100644 --- a/exiftool.go +++ b/exiftool.go @@ -184,4 +184,12 @@ func Charset(charset string) func(*Exiftool) error { e.extraInitArgs = append(e.extraInitArgs, "-charset", charset) return nil } -} \ No newline at end of file +} + +//Text +func AddInitArgs(args []string) func(*Exiftool) error { + return func(e *Exiftool) error { + e.extraInitArgs = append(e.extraInitArgs, args...) + return nil + } +} From 9c6c368c40884c5abb6ab2cc3a164b90170f12ad Mon Sep 17 00:00:00 2001 From: Kjeldgaard Date: Tue, 23 Mar 2021 23:30:58 +0100 Subject: [PATCH 2/4] Added comments Added comments and sample to AddInitArgs() function. Signed-off-by: Kjeldgaard --- exiftool.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/exiftool.go b/exiftool.go index 9da944a..095fe81 100644 --- a/exiftool.go +++ b/exiftool.go @@ -186,7 +186,10 @@ func Charset(charset string) func(*Exiftool) error { } } -//Text +// Function to parse additional initial arguments to exiftool. +// Sample : +// extraInitArgs := []string{"-n"} +// e, err := NewExiftool(AddInitArgs(extraInitArgs)) func AddInitArgs(args []string) func(*Exiftool) error { return func(e *Exiftool) error { e.extraInitArgs = append(e.extraInitArgs, args...) From 64f9cc1fa79338a6f518cf44678920e7dace4ac2 Mon Sep 17 00:00:00 2001 From: Kjeldgaard Date: Sun, 28 Mar 2021 21:44:37 +0200 Subject: [PATCH 3/4] Dedicated 'No Print Conversion' function New dedicated function for 'No Print Conversion' mode. Signed-off-by: Kjeldgaard --- exiftool.go | 9 ++++----- exiftool_test.go | 21 ++++++++++++++++++++- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/exiftool.go b/exiftool.go index 095fe81..0d15c61 100644 --- a/exiftool.go +++ b/exiftool.go @@ -186,13 +186,12 @@ func Charset(charset string) func(*Exiftool) error { } } -// Function to parse additional initial arguments to exiftool. +// Function to use 'No print conversion' mode, see https://exiftool.org/exiftool_pod.html. // Sample : -// extraInitArgs := []string{"-n"} -// e, err := NewExiftool(AddInitArgs(extraInitArgs)) -func AddInitArgs(args []string) func(*Exiftool) error { +// e, err := NewExiftool(NoPrintConversion()) +func NoPrintConversion() func(*Exiftool) error { return func(e *Exiftool) error { - e.extraInitArgs = append(e.extraInitArgs, args...) + e.extraInitArgs = append(e.extraInitArgs, "-n") return nil } } diff --git a/exiftool_test.go b/exiftool_test.go index 607dc2d..ed421bc 100644 --- a/exiftool_test.go +++ b/exiftool_test.go @@ -233,4 +233,23 @@ func TestNewExifTool_WithCharset(t *testing.T) { metas := e.ExtractMetadata("./testdata/20190404_131804.jpg") assert.Equal(t, 1, len(metas)) assert.Nil(t, metas[0].Err) -} \ No newline at end of file +} + +func TestNoPrintConversion(t *testing.T) { + e, err := NewExiftool(NoPrintConversion()) + assert.Nil(t, err) + defer e.Close() + + metas := e.ExtractMetadata("./testdata/20190404_131804.jpg") + assert.Equal(t, 1, len(metas)) + assert.Nil(t, metas[0].Err) + + for _, meta := range metas { + if meta.Err != nil { + continue + } + expProgram, err := meta.GetInt("ExposureProgram") + assert.Nil(t, err) + assert.Equal(t, int64(2), expProgram) + } +} From 8e48e57d359794bfca892f3a4f05ded0de31bcc8 Mon Sep 17 00:00:00 2001 From: Kjeldgaard Date: Mon, 29 Mar 2021 23:03:30 +0200 Subject: [PATCH 4/4] Fix comment according to godoc Fix NoPrintConversion comment to follow godoc spec. Signed-off-by: Kjeldgaard --- exiftool.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exiftool.go b/exiftool.go index 0d15c61..6de8178 100644 --- a/exiftool.go +++ b/exiftool.go @@ -186,7 +186,7 @@ func Charset(charset string) func(*Exiftool) error { } } -// Function to use 'No print conversion' mode, see https://exiftool.org/exiftool_pod.html. +// NoPrintConversion enables 'No print conversion' mode, see https://exiftool.org/exiftool_pod.html. // Sample : // e, err := NewExiftool(NoPrintConversion()) func NoPrintConversion() func(*Exiftool) error {