summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-08-30 18:07:41 -0500
committerJeff Carr <[email protected]>2025-08-30 18:07:41 -0500
commitfbbed0475bc680afb754bbe9ba471c584d884a8f (patch)
tree8aeac923b5aeaa193744ff4e774065ce9545e707
parent512ebf5be67f468eaeeb223911c6f6707cea3015 (diff)
parse stuff
-rw-r--r--Makefile2
-rw-r--r--json.go17
-rw-r--r--main.go43
3 files changed, 47 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index cbdcdd3..a377a19 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ VERSION = $(shell git describe --tags)
BUILDTIME = $(shell date +%Y.%m.%d_%H%M)
default: install
- regex --json tmp/regex.55128216-e93b-4339-8854-622ca11af890.gemini-api-request.128.json
+ regex --json tmp/regex.07812e1a-a60c-4e2f-8180-fbbf3fa6a9e7.gemini-api-request.19.json
vet:
@GO111MODULE=off go vet
diff --git a/json.go b/json.go
index e663fc5..e55521d 100644
--- a/json.go
+++ b/json.go
@@ -45,10 +45,7 @@ type FunctionResponse struct {
Response map[string]interface{} `json:"response"`
}
-// parseJSON opens the given file, reads it, and unmarshals it into our structs.
-func parseJSON(filename string) (*GeminiRequest, error) {
- log.Infof("Attempting to parse file: %s\n", filename)
-
+func parsePB(filename string) (*chatpb.GeminiRequest, error) {
// Read the entire file
data, err := os.ReadFile(filename)
if err != nil {
@@ -58,6 +55,18 @@ func parseJSON(filename string) (*GeminiRequest, error) {
if err := pb.UnmarshalJSON(data); err != nil {
return nil, err
}
+ return pb, nil
+}
+
+// parseJSON opens the given file, reads it, and unmarshals it into our structs.
+func parseJSON(filename string) (*GeminiRequest, error) {
+ log.Infof("Attempting to parse file: %s\n", filename)
+
+ // Read the entire file
+ data, err := os.ReadFile(filename)
+ if err != nil {
+ return nil, log.Errorf("failed to read file %s: %w", filename, err)
+ }
// Unmarshal the JSON data
var req *GeminiRequest
diff --git a/main.go b/main.go
index 39cf5cf..61921d8 100644
--- a/main.go
+++ b/main.go
@@ -8,6 +8,8 @@ package main
import (
"embed"
"os"
+ "path/filepath"
+ "strings"
"github.com/google/uuid"
"go.wit.com/dev/alexflint/arg"
@@ -65,21 +67,42 @@ func main() {
_ = aiClient
if argv.JsonFile != "" {
- jstruct, err := parseJSON(argv.JsonFile)
- if err != nil {
- badExit(err)
- }
- log.Info("parseJSON() ok. model =", jstruct.Model)
+ /*
+ jstruct, err := parseJSON(argv.JsonFile)
+ if err != nil {
+ badExit(err)
+ }
+ log.Info("parseJSON() ok. model =", jstruct.Model)
- // Marshal this JSON file into a protobuf
- genaiContent, err := convertToGenai(jstruct)
+ // Marshal this JSON file into a protobuf
+ genaiContent, err := convertToGenai(jstruct)
+ if err != nil {
+ badExit(err)
+ }
+ log.Info("Successfully converted JSON to genai.Content")
+ // Here you would now use the 'genaiContent' to send to the API
+ _ = genaiContent // Prevent unused variable error for now
+ */
+
+ // now try to Marshal() into a protobuf
+ pb, err := parsePB(argv.JsonFile)
if err != nil {
badExit(err)
}
- log.Info("Successfully converted JSON to genai.Content")
- // Here you would now use the 'genaiContent' to send to the API
- _ = genaiContent // Prevent unused variable error for now
+ log.Info("GeminiContent pb.Marshal() worked len =", len(pb.Contents))
+ _, filename := filepath.Split(argv.JsonFile)
+ parts := strings.Split(filename, ".")
+ if len(parts) == 5 {
+ uuid := parts[1]
+ log.Info(uuid, parts)
+ // newEntry := new(chatpb.ChatEntry)
+ // newEntry.GeminiRequest = pb
+ if chat := me.chats.FindByUuid(uuid); chat != nil {
+ log.Info("FOUND CHAT", uuid)
+ }
+ } else {
+ }
okExit("")
}