summaryrefslogtreecommitdiff
path: root/save.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-14 00:15:41 -0500
committerJeff Carr <[email protected]>2025-10-14 00:15:41 -0500
commitfc17dc394aedbc5fd636676202bad40c1f98c1de (patch)
tree197ff50da15f186c38d50a71fede7b0c160ee57f /save.go
parent3b4821a3af62376d675699493e01cd07891ad69c (diff)
implement application specific Config files (and Verbose())
Diffstat (limited to 'save.go')
-rw-r--r--save.go13
1 files changed, 10 insertions, 3 deletions
diff --git a/save.go b/save.go
index 78175bd..f926a31 100644
--- a/save.go
+++ b/save.go
@@ -17,15 +17,22 @@ func ConfigSave(pb proto.Message) error {
return saveTEXT(pb, "")
}
-func Save(pb proto.Message) error {
+// writes the protobuf to disk
+// uses the already configured Filename
+func SavePB(pb proto.Message) error {
fullname, err := GetFilename(pb)
if err != nil {
return err
}
- return SavePB(pb, fullname)
+ return SaveToFilename(pb, fullname)
}
-func SavePB(pb proto.Message, fullname string) error {
+// writes the protobuf to disk (sets Filename if PB has 'Filename')
+func SaveToFilename(pb proto.Message, fullname string) error {
+ basedir, _ := filepath.Split(fullname)
+ if err := os.MkdirAll(basedir, os.ModePerm); err != nil {
+ return err
+ }
if strings.HasSuffix(fullname, ".pb") {
return saveProto(pb, fullname)
}