Refactored timeparsing from HTML input

This commit is contained in:
Magnus Åhall 2024-06-27 13:45:01 +02:00
parent ab87da256c
commit 530204c1a5
6 changed files with 45 additions and 22 deletions

30
main.go
View file

@ -369,7 +369,7 @@ func getPage(layout, page string) (tmpl *template.Template, err error) { // {{{
funcMap := template.FuncMap{
"format_time": func(t time.Time) template.HTML {
return template.HTML(
t.In(smonConfig.Timezone()).Format(`<span class="date">2006-01-02</span> <span class="time">15:04<span class="seconds">:05</span></span>`),
t.In(smonConfig.Timezone()).Format(`<span class="date">2006-01-02</span> <span class="time">15:04:05<span class="seconds">:05</span></span>`),
)
},
}
@ -709,26 +709,18 @@ func pageDatapointValues(w http.ResponseWriter, r *http.Request, _ *session.T) {
}
var timeFrom, timeTo time.Time
timeFromParam := r.URL.Query().Get("f")
if timeFromParam == "" {
timeFrom = time.Now().Add(time.Duration(-(24 * 7) * time.Hour))
} else {
timeFrom, err = time.Parse("2006-01-02T15:04:05", timeFromParam)
if err != nil {
httpError(w, werr.Wrap(err).Log())
return
}
yesterday := time.Now().Add(time.Duration(-24 * time.Hour))
timeFrom, err = parseHTMLDateTime(r.URL.Query().Get("f"), yesterday)
if err != nil {
httpError(w, werr.Wrap(err).Log())
return
}
timeToParam := r.URL.Query().Get("t")
if timeToParam == "" {
timeTo = time.Now()
} else {
timeTo, err = time.Parse("2006-01-02T15:04:05", timeToParam)
if err != nil {
httpError(w, werr.Wrap(err).Log())
return
}
timeTo, err = parseHTMLDateTime(r.URL.Query().Get("t"), time.Now())
if err != nil {
httpError(w, werr.Wrap(err).Log())
return
}
// Fetch data point values according to the times.