diff --git a/main.go b/main.go index 9cac4a7..1f1c53d 100644 --- a/main.go +++ b/main.go @@ -270,15 +270,9 @@ func main() { } // Term Select Pre-Search POST - var termSelect string - currentTerm, nextTerm := GetCurrentTerm(time.Now()) - if currentTerm == nil { - termSelect = nextTerm.ToString() - } else { - termSelect = currentTerm.ToString() - } - log.Info().Str("term", termSelect).Str("sessionID", sessionID).Msg("Setting selected term") - SelectTerm(termSelect) + term := Default(time.Now()).ToString() + log.Info().Str("term", term).Str("sessionID", sessionID).Msg("Setting selected term") + SelectTerm(term) // Close session, ensure http client closes idle connections defer session.Close() diff --git a/term.go b/term.go index eee6674..2800479 100644 --- a/term.go +++ b/term.go @@ -129,3 +129,12 @@ func (term Term) ToString() string { return fmt.Sprintf("%d%s", term.Year, season) } + +// Default chooses the default term, which is the current term if it exists, otherwise the next term. +func Default(t time.Time) Term { + currentTerm, nextTerm := GetCurrentTerm(t) + if currentTerm == nil { + return *nextTerm + } + return *currentTerm +}