diff options
| author | Jeff Carr <[email protected]> | 2025-09-26 18:53:41 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-09-26 19:04:48 -0500 |
| commit | 0951f0c92e0fe32c8e12dc0eec68049d81859076 (patch) | |
| tree | 139804228e580e3e8811e333f4de07398dd352d2 | |
| parent | 77f7f39c250b0b4e603df6c2e6cd9110e3a02021 (diff) | |
add some more load() functions
| -rw-r--r-- | load.go | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -53,6 +53,36 @@ func ConfigLoad(pb proto.Message, argname string, protoname string) error { return log.Errorf("could not load config file") } +func LoadFile(pb proto.Message, fullname string) error { + if strings.HasSuffix(fullname, ".text") { + return loadTEXT(pb, fullname) + } + if strings.HasSuffix(fullname, ".json") { + return loadJSON(pb, fullname) + } + if strings.HasSuffix(fullname, ".pb") { + return loadPB(pb, fullname) + } + + return log.Errorf("unknown filetype %s", fullname) +} + +func loadPB(pb proto.Message, fullname string) error { + data, err := loadFile(fullname) + if err != nil { + log.Warn("LoadPB()", fullname, err) + // set pb.Filename that was attempted + return err + } + + if err = proto.Unmarshal(data, pb); err != nil { + log.Warn("LoadPB() error Unmarshal() ", fullname, err) + return err + } + + return nil +} + func LoadPB(pb proto.Message, argname string, protoname string) (string, error) { var fullname string if strings.HasPrefix(argname, "/") { |
