Trim 'ww' suffix on output

This commit is contained in:
Christian Goll
2022-05-25 12:24:18 +02:00
parent 9e5b2d1aa3
commit 98e085c6f2

View File

@@ -6,6 +6,7 @@ import (
"os" "os"
"path/filepath" "path/filepath"
"regexp" "regexp"
"strings"
"github.com/hpcng/warewulf/internal/pkg/node" "github.com/hpcng/warewulf/internal/pkg/node"
"github.com/hpcng/warewulf/internal/pkg/overlay" "github.com/hpcng/warewulf/internal/pkg/overlay"
@@ -52,31 +53,31 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
if filepath.Ext(args[0]) != ".ww" { if filepath.Ext(args[0]) != ".ww" {
wwlog.Printf(wwlog.WARN, "%s has not the '.ww' so wont be rendered if in overlay\n", args[0]) wwlog.Printf(wwlog.WARN, "%s has not the '.ww' so wont be rendered if in overlay\n", args[0])
} }
wwlog.Printf(wwlog.INFO, "backupFile: %v\nwriteFile: %v\n", backupFile, writeFile)
var outBuffer bytes.Buffer var outBuffer bytes.Buffer
// search for magic file name comment // search for magic file name comment
bufferScanner := bufio.NewScanner(bytes.NewReader(buffer.Bytes())) bufferScanner := bufio.NewScanner(bytes.NewReader(buffer.Bytes()))
bufferScanner.Split(overlay.ScanLines) bufferScanner.Split(overlay.ScanLines)
reg := regexp.MustCompile(`.*{{\s*/\*\s*file\s*["'](.*)["']\s*\*/\s*}}.*`) reg := regexp.MustCompile(`.*{{\s*/\*\s*file\s*["'](.*)["']\s*\*/\s*}}.*`)
foundFileComment := false foundFileComment := false
destFileName := args[0] destFileName := strings.TrimSuffix(args[0], ".ww")
for bufferScanner.Scan() { for bufferScanner.Scan() {
line := bufferScanner.Text() line := bufferScanner.Text()
filenameFromTemplate := reg.FindAllStringSubmatch(line, -1) filenameFromTemplate := reg.FindAllStringSubmatch(line, -1)
if len(filenameFromTemplate) != 0 { if len(filenameFromTemplate) != 0 {
wwlog.Printf(wwlog.DEBUG, "Found multifile comment, new filename %s\n", filenameFromTemplate[0][1]) wwlog.Printf(wwlog.DEBUG, "Found multifile comment, new filename %s\n", filenameFromTemplate[0][1])
if foundFileComment { if foundFileComment {
wwlog.Printf(wwlog.INFO, "backupFile: %v\nwriteFile: %v\n", backupFile, writeFile)
wwlog.Printf(wwlog.INFO, "Filename: %s\n\n", destFileName)
wwlog.Printf(wwlog.INFO, "%s", outBuffer.String()) wwlog.Printf(wwlog.INFO, "%s", outBuffer.String())
outBuffer.Reset() outBuffer.Reset()
} }
destFileName = filenameFromTemplate[0][1] destFileName = filenameFromTemplate[0][1]
wwlog.Printf(wwlog.INFO, "Filename: %s\n\n", destFileName)
wwlog.Printf(wwlog.INFO, "%s", outBuffer.String())
foundFileComment = true foundFileComment = true
} else { } else {
_, _ = outBuffer.WriteString(line) _, _ = outBuffer.WriteString(line)
} }
} }
wwlog.Printf(wwlog.INFO, "backupFile: %v\nwriteFile: %v\n", backupFile, writeFile)
wwlog.Printf(wwlog.INFO, "Filename: %s\n\n", destFileName) wwlog.Printf(wwlog.INFO, "Filename: %s\n\n", destFileName)
wwlog.Printf(wwlog.INFO, "%s", outBuffer.String()) wwlog.Printf(wwlog.INFO, "%s", outBuffer.String())
return nil return nil