diff options
| author | Jeff Carr <[email protected]> | 2025-09-22 16:34:38 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-09-22 16:34:38 -0500 |
| commit | 77f7f39c250b0b4e603df6c2e6cd9110e3a02021 (patch) | |
| tree | 13f761bf2f2d23d62cf380fdb593b33ca6a7a76b /save.go | |
| parent | 0e805acc675e374b54cad33ef63f282d46b621af (diff) | |
load and save PB() funcsv0.0.5
Diffstat (limited to 'save.go')
| -rw-r--r-- | save.go | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -19,6 +19,29 @@ func ConfigSave(pb proto.Message) error { return saveTEXT(pb, "") } +func SavePB(pb proto.Message, fullname string) error { + if !strings.HasSuffix(fullname, ".pb") { + // todo: append .text here? + return log.Errorf("%s needs to end in '.pb'", fullname) + } + + dir, name := filepath.Split(fullname) + if name == "" { + return fmt.Errorf("filename was blank") + } + if err := os.MkdirAll(dir, os.ModePerm); err != nil { + return err + } + + data, err := proto.Marshal(pb) + if err != nil { + return err + } + + log.Infof("ConfigSave() filename=%s %d\n", fullname, len(data)) + return configWrite(fullname, data) +} + func ConfigSaveWithHeader(pb proto.Message, header string) error { var final error if err := saveTEXT(pb, header); err != nil { |
