summaryrefslogtreecommitdiff
path: root/gomplate.go
diff options
context:
space:
mode:
authorDave Henderson <dhenderson@gmail.com>2018-08-09 16:52:21 -0400
committerDave Henderson <dhenderson@gmail.com>2018-08-10 22:11:46 -0400
commit22ae7244297c3b63cfb8f44e3a9be52286e629df (patch)
treef3b643830254378c0c75e9bf2d0760f93b672720 /gomplate.go
parentfbb3f3f9dde228494b8d91698d7e11b749d2b88e (diff)
Adding --chmod flag to explicitly set output file modes
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'gomplate.go')
-rw-r--r--gomplate.go13
1 files changed, 13 insertions, 0 deletions
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