The shit I do for w00t4me

This commit is contained in:
2024-11-11 13:04:55 -05:00
parent 551f077158
commit c1a20533da
2 changed files with 33 additions and 21 deletions

View File

@ -6,6 +6,7 @@ import (
"io/ioutil"
"log"
"net/http"
"strconv"
"strings"
"time"
"unicode"
@ -16,6 +17,7 @@ type Game struct {
GameID string `json:"gameID"`
StartDate string `json:"startDate"`
StartTime string `json:"startTime"`
StartTimeEpoch string `json:"startTimeEpoch"`
GameState string `json:"gameState"`
CurrentPeriod string `json:"currentPeriod"`
ContestClock string `json:"contestClock"`
@ -33,22 +35,6 @@ type Team struct {
} `json:"names"`
}
// Convert time from Eastern to Central
func convertToCentralTime(easternTime string) (string, error) {
parsedTime, err := time.Parse("03:04PM ET", easternTime)
if err != nil {
return "", fmt.Errorf("error parsing time: %w", err)
}
centralLocation, err := time.LoadLocation("America/Chicago")
if err != nil {
return "", fmt.Errorf("error loading Central Time location: %w", err)
}
centralTime := parsedTime.In(centralLocation)
return centralTime.Format("03:04 PM"), nil
}
func GetGameInfo(teamName string) string {
teamName = strings.TrimSpace(teamName)
week := ""
@ -107,10 +93,10 @@ func GetGameInfo(teamName string) string {
game.Game.Home.Names.Short, game.Game.Home.Score,
period, game.Game.ContestClock)
} else if game.Game.GameState == "pre" {
centralTime, err := convertToCentralTime(game.Game.StartTime)
centralTime, err := convertEpochToCentralTime(game.Game.StartTimeEpoch)
if err != nil {
log.Printf("Time conversion error: %v", err)
centralTime = game.Game.StartTime // Fall back to the original if conversion fails
centralTime = game.Game.StartTime // Fall back to original time if conversion fails
}
gameInfo = fmt.Sprintf("Upcoming: %s @ %s on %s at %s CT",
game.Game.Away.Names.Short, game.Game.Home.Names.Short, game.Game.StartDate, centralTime)
@ -130,3 +116,21 @@ func GetGameInfo(teamName string) string {
return "No game found for the specified team."
}
func convertEpochToCentralTime(epochStr string) (string, error) {
epoch, err := strconv.ParseInt(epochStr, 10, 64)
if err != nil {
return "", fmt.Errorf("error parsing epoch: %w", err)
}
// Convert the epoch time to time.Time and set it to Central Time
t := time.Unix(epoch, 0).UTC()
locCT, err := time.LoadLocation("America/Chicago")
if err != nil {
return "", fmt.Errorf("error loading Central Time location: %w", err)
}
centralTime := t.In(locCT)
return centralTime.Format("03:04 PM"), nil
}