summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-11 02:19:56 -0500
committerJeff Carr <[email protected]>2025-09-11 02:19:56 -0500
commit92d7a71f125b69c52731f2c63a400ca782c88afa (patch)
treec9f626b39494111c159455043bff49471d462f52
parent41fe3edc93e20fa78fca5eb679e1d83e71357825 (diff)
using new config package
-rw-r--r--save.go23
1 files changed, 22 insertions, 1 deletions
diff --git a/save.go b/save.go
index 2f2db15..a1f48e0 100644
--- a/save.go
+++ b/save.go
@@ -19,7 +19,6 @@ func ConfigSave(pb proto.Message) error {
return ErrProtoFilename
}
- // Unmarshal()
s := prototext.Format(pb)
dir, name := filepath.Split(fullname)
@@ -35,6 +34,28 @@ func ConfigSave(pb proto.Message) error {
return configWrite(fullname, []byte(s))
}
+func ConfigSaveWithHeader(pb proto.Message, header string) error {
+ // get pb.Filename if it is there in the .proto file
+ fullname, ok := GetFilename(pb)
+ if !ok {
+ return ErrProtoFilename
+ }
+
+ s := prototext.Format(pb)
+
+ dir, name := filepath.Split(fullname)
+ if name == "" {
+ return fmt.Errorf("filename was blank")
+ }
+ err := os.MkdirAll(dir, os.ModePerm)
+ if err != nil {
+ return err
+ }
+
+ log.Infof("ConfigSave() filename=%s %d\n", fullname, len(s))
+ return configWrite(fullname, []byte(header+s))
+}
+
func configWrite(fullname string, data []byte) error {
cfgfile, err := os.OpenFile(fullname, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)