comparison pkg/controllers/stretches.go @ 5220:142ac550bd9a new-fwa

Unify headers for CSV export.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 12 May 2020 10:15:32 +0200
parents c4e295b2d6a3
children
comparison
equal deleted inserted replaced
5219:de86a96d55c3 5220:142ac550bd9a
384 rw.Header().Add("Content-Type", "text/csv") 384 rw.Header().Add("Content-Type", "text/csv")
385 385
386 out := csv.NewWriter(rw) 386 out := csv.NewWriter(rw)
387 387
388 // label, lnwl, classes 388 // label, lnwl, classes
389 record := makeHeaderStretches(useDepth && useWidth, breaks, 'd') 389 record := makeHeader(useDepth && useWidth, 3, breaks, 'd')
390 390
391 if err := out.Write(record); err != nil { 391 if err := out.Write(record); err != nil {
392 // Too late for HTTP status message. 392 // Too late for HTTP status message.
393 log.Printf("error: %v\n", err) 393 log.Printf("error: %v\n", err)
394 return 394 return
624 rw.Header().Add("Content-Type", "text/csv") 624 rw.Header().Add("Content-Type", "text/csv")
625 625
626 out := csv.NewWriter(rw) 626 out := csv.NewWriter(rw)
627 627
628 // label, lnwl, classes 628 // label, lnwl, classes
629 record := makeHeaderStretches(useDepth && useWidth, breaks, '%') 629 record := makeHeader(useDepth && useWidth, 3, breaks, '%')
630 630
631 if err := out.Write(record); err != nil { 631 if err := out.Write(record); err != nil {
632 // Too late for HTTP status message. 632 // Too late for HTTP status message.
633 log.Printf("error: %v\n", err) 633 log.Printf("error: %v\n", err)
634 return 634 return
661 if err := out.Error(); err != nil { 661 if err := out.Error(); err != nil {
662 // Too late for HTTP status message. 662 // Too late for HTTP status message.
663 log.Printf("error: %v\n", err) 663 log.Printf("error: %v\n", err)
664 } 664 }
665 } 665 }
666
667 func makeHeaderStretches(flag bool, breaks []float64, unit rune) []string {
668 record := make([]string, 1+2+len(breaks)+1)
669 record[0] = "# time"
670 record[1] = fmt.Sprintf("# < LDC [%c]", unit)
671 record[2] = fmt.Sprintf("# >= LDC [%c]", unit)
672 for i, v := range breaks {
673 if flag {
674 if i == 0 {
675 record[3] = fmt.Sprintf("# < break_1 [%c]", unit)
676 }
677 record[i+4] = fmt.Sprintf("# >= break_%d [%c]", i+1, unit)
678 } else {
679 if i == 0 {
680 record[3] = fmt.Sprintf("# < %.3f [%c]", v, unit)
681 }
682 record[i+4] = fmt.Sprintf("# >= %.3f [%c]", v, unit)
683 }
684 }
685 return record
686 }