diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2018-08-09 16:52:21 -0400 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2018-08-10 22:11:46 -0400 |
| commit | 22ae7244297c3b63cfb8f44e3a9be52286e629df (patch) | |
| tree | f3b643830254378c0c75e9bf2d0760f93b672720 /gomplate.go | |
| parent | fbb3f3f9dde228494b8d91698d7e11b749d2b88e (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.go | 13 |
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 |
