From 22ae7244297c3b63cfb8f44e3a9be52286e629df Mon Sep 17 00:00:00 2001 From: Dave Henderson Date: Thu, 9 Aug 2018 16:52:21 -0400 Subject: Adding --chmod flag to explicitly set output file modes Signed-off-by: Dave Henderson --- gomplate.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gomplate.go') diff --git a/gomplate.go b/gomplate.go index f5d17af9..11a8ae8f 100644 --- a/gomplate.go +++ b/gomplate.go @@ -3,6 +3,7 @@ package gomplate import ( "io" "os" + "strconv" "text/template" "time" @@ -18,6 +19,7 @@ type Config struct { ExcludeGlob []string OutputFiles []string OutputDir string + OutMode string DataSources []string DataSourceHeaders []string @@ -26,6 +28,17 @@ type Config struct { RDelim string } +// parse an os.FileMode out of the string, and let us know if it's an override or not... +func (o *Config) getMode() (os.FileMode, bool, error) { + modeOverride := o.OutMode != "" + m, err := strconv.ParseUint("0"+o.OutMode, 8, 32) + if err != nil { + return 0, false, err + } + mode := os.FileMode(m) + return mode, modeOverride, nil +} + // gomplate - type gomplate struct { funcMap template.FuncMap -- cgit v1.2.3