@@ -11,25 +11,25 @@ import (
1111 tea "github.com/charmbracelet/bubbletea"
1212)
1313
14- func validateInterval (seconds int ) time.Duration {
15- if seconds < 1 || seconds > 3600 {
14+ func validateInterval (seconds float64 ) time.Duration {
15+ if seconds < 0.01 || seconds > 3600 {
1616 return 0
1717 }
18- return time .Duration (seconds ) * time .Second
18+ return time .Duration (seconds * float64 ( time .Second ))
1919}
2020
2121func main () {
2222 flag .Usage = func () {
2323 // HACK: make it look like python's argparse
2424 fmt .Fprintf (os .Stderr , "Usage: %s [OPTIONS]\n \n " , os .Args [0 ])
2525 fmt .Fprintf (os .Stderr , "Options:\n " )
26- fmt .Fprintf (os .Stderr , " -n, --interval int Update interval in seconds (default: 5, or SSH_DASHBOARD_INTERVAL env var)\n " )
26+ fmt .Fprintf (os .Stderr , " -n, --interval float Update interval in seconds (default: 5, or SSH_DASHBOARD_INTERVAL env var)\n " )
2727 fmt .Fprintf (os .Stderr , " -h, --help Show this help message\n " )
2828 }
2929
30- var updateIntervalVal int
31- flag .IntVar (& updateIntervalVal , "n" , 0 , "" )
32- flag .IntVar (& updateIntervalVal , "interval" , 0 , "" )
30+ var updateIntervalVal float64
31+ flag .Float64Var (& updateIntervalVal , "n" , 0 , "" )
32+ flag .Float64Var (& updateIntervalVal , "interval" , 0 , "" )
3333 flag .Parse ()
3434 updateInterval := & updateIntervalVal
3535
@@ -40,7 +40,7 @@ func main() {
4040 interval = validated
4141 }
4242 } else if envInterval := os .Getenv ("SSH_DASHBOARD_INTERVAL" ); envInterval != "" {
43- if seconds , err := strconv .Atoi (envInterval ); err == nil {
43+ if seconds , err := strconv .ParseFloat (envInterval , 64 ); err == nil {
4444 if validated := validateInterval (seconds ); validated > 0 {
4545 interval = validated
4646 }
0 commit comments