Mercurial > gemma
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 } |