Philipp
0010b6c1fc
panic: runtime error: index out of range [0] with length 0 goroutine 1 [running]: github.com/mrahbar/my-bloody-hetzner-sb-notifier/writer.(*TableWriter).Print(0xc00011be20, {{0x31e, 0x0}, {0x0, 0x0, 0x0}}) /home/philipp/git/my-bloody-hetzner-sb-notifier/writer/table.go:25 +0x27a main.run({0x731f00, 0xc0000ae008}, {0x0, 0x4041800000000000, 0x40, 0x100, 0x1800, 0x1800, 0x2, 0xf, ...}, ...) /home/philipp/git/my-bloody-hetzner-sb-notifier/main.go:251 +0x335 main.main() /home/philipp/git/my-bloody-hetzner-sb-notifier/main.go:138 +0x1a5 If no server was found we crashed, because we tried to print out the 0 element of an array.
31 lines
754 B
Go
31 lines
754 B
Go
package writer
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/mrahbar/my-bloody-hetzner-sb-notifier/hetzner"
|
|
"io"
|
|
"text/tabwriter"
|
|
)
|
|
|
|
type TableWriter struct {
|
|
tabWriter *tabwriter.Writer
|
|
}
|
|
|
|
func NewTableWriter(output io.Writer)*TableWriter {
|
|
return &TableWriter{
|
|
tabwriter.NewWriter(output, 0, 8, 2, ' ', tabwriter.Debug|tabwriter.AlignRight),
|
|
}
|
|
}
|
|
|
|
func (c *TableWriter) Print(deals hetzner.Deals) {
|
|
fmt.Fprintf(c.tabWriter,"Got %d offers. Filtered offers: %d\n", deals.ResultStats.OriginalCount, deals.ResultStats.FilteredCount)
|
|
|
|
if deals.ResultStats.FilteredCount != {
|
|
fmt.Fprintf(c.tabWriter, "%s\n", deals.Servers[0].Header())
|
|
for _, server := range deals.Servers {
|
|
fmt.Fprintf(c.tabWriter, "%s\n", server.ToString())
|
|
}
|
|
c.tabWriter.Flush()
|
|
}
|
|
|
|
}
|