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) } }