From ace99c8aa8ad8b95aa13d7716d8d61f38a18acdf Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sun, 19 Jan 2025 00:35:30 -0600 Subject: [PATCH] add --identify --- doIdentify.go | 24 ++++++++++++++++++++++++ file.proto | 2 +- main.go | 7 +++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 doIdentify.go diff --git a/doIdentify.go b/doIdentify.go new file mode 100644 index 0000000..0e2ac37 --- /dev/null +++ b/doIdentify.go @@ -0,0 +1,24 @@ +package main + +import ( + "os" + + "go.wit.com/log" +) + +// print the protobuf in human form +func doIdentify(filename string) error { + data, err := os.ReadFile(filename) + if err != nil { + // log.Info("open config file :", err) + return err + } + + var pb *Identify + pb = new(Identify) + if err := pb.Unmarshal(data); err != nil { + return err + } + log.Info("Identify protobuf file uuid =", pb.Uuid, "version =", pb.Version) + return nil +} diff --git a/file.proto b/file.proto index fb42046..b181ded 100644 --- a/file.proto +++ b/file.proto @@ -98,5 +98,5 @@ message Files { // `autogenpb:marshal` // then dump the uuid and version from any arbitrary .pb file message Identify { // `autogenpb:marshal` string uuid = 1; // - int64 version = 2; // + string version = 2; // } diff --git a/main.go b/main.go index 381b2fd..78e58a2 100644 --- a/main.go +++ b/main.go @@ -34,6 +34,13 @@ func main() { var pb *Files pb = new(Files) + if argv.Identify != "" { + if err := doIdentify(argv.Identify); err != nil { + badExit(err) + } + okExit("") + } + // you need a proto file if argv.Proto == "" { log.Info("you must provide --proto ")