From cdf1cb097167d296e02c0fa76f4815faf28c5e9d Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Tue, 2 Aug 2022 23:25:50 -0400 Subject: [PATCH] Added history.go --- cmd/history.go | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 cmd/history.go diff --git a/cmd/history.go b/cmd/history.go new file mode 100644 index 0000000..2149554 --- /dev/null +++ b/cmd/history.go @@ -0,0 +1,70 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + pb "codeberg.org/andcscott/weather-cli/proto" +) + +func getDate(app *Application) (int32, int32, int32) { + + var year, month, day int32 + + fmt.Print("Enter 4-digit year: ") + + _, err := fmt.Scanf("%d", &year) + if err != nil { + fmt.Println("Invalid year") + } + + fmt.Print("Enter month (1-12): ") + _, err = fmt.Scanf("%d", &month) + if err != nil { + fmt.Println("Invalid year") + } + + fmt.Print("Enter day (1-31): ") + _, err = fmt.Scanf("%d", &day) + if err != nil { + fmt.Println("Invalid year") + } + return year, month, day +} + +func getUnixTime(c pb.RouteGuideClient) int32 { + + var year, month, day int32 + + res, err := c.GetUnixTime(context.Background(), &pb.Date{ + Year: year, + Month: month, + Day: day, + }) + if err != nil { + fmt.Printf("Error getting Unix time: %v\n", err) + } + return res.Unixtime +} + +func getHistorical(c pb.RouteGuideClient) { + + var lat, lon, year, month, day int32 + + res, err := c.GetHistoricalData(context.Background(), &pb.LocationDate{ + Latitude: lat, + Longitude: lon, + Year: year, + Month: month, + Day: day, + }) + if err != nil { + fmt.Printf("Error getting historical data: %v", err) + } + + err = json.Unmarshal([]byte(res.Data), &app.Forecast) + if err != nil { + fmt.Printf("Error reading data from server: %v", err) + } +}