Mercurial > gemma
changeset 5206:23addd19a6e2 new-fwa
Simplified header generation for CSV output.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 11 May 2020 11:41:57 +0200 |
parents | c7907715309f |
children | c4e295b2d6a3 |
files | pkg/controllers/bottlenecks.go pkg/controllers/stretches.go |
diffstat | 2 files changed, 39 insertions(+), 54 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/controllers/bottlenecks.go Mon May 11 11:17:00 2020 +0200 +++ b/pkg/controllers/bottlenecks.go Mon May 11 11:41:57 2020 +0200 @@ -271,16 +271,7 @@ out := csv.NewWriter(rw) - record := make([]string, 1+2+len(breaks)+1) - record[0] = "#time" - record[1] = fmt.Sprintf("# < LDC (%.1f) [%%]", ldcRefs[0]) - record[2] = fmt.Sprintf("# >= LDC (%.1f) [%%]", ldcRefs[0]) - for i, v := range breaks { - if i == 0 { - record[3] = fmt.Sprintf("#d < %.1f [%%]", v) - } - record[i+4] = fmt.Sprintf("#d >= %.1f [%%]", v) - } + record := makeHeader(breaks, '%') if err := out.Write(record); err != nil { // Too late for HTTP status message. @@ -416,16 +407,7 @@ out := csv.NewWriter(rw) // label, ldc, classes - record := make([]string, 1+2+len(breaks)+1) - record[0] = "#time" - record[1] = fmt.Sprintf("# < LDC (%.1f) [d]", ldcRefs[0]) - record[2] = fmt.Sprintf("# >= LDC (%.1f) [d]", ldcRefs[0]) - for i, v := range breaks { - if i == 0 { - record[3] = fmt.Sprintf("# < %.1f [d]", v) - } - record[i+4] = fmt.Sprintf("# >= %.1f [d]", v) - } + record := makeHeader(breaks, 'd') if err := out.Write(record); err != nil { // Too late for HTTP status message. @@ -493,6 +475,20 @@ } } +func makeHeader(breaks []float64, unit rune) []string { + record := make([]string, 1+2+len(breaks)+1) + record[0] = "#time" + record[1] = fmt.Sprintf("# < LDC [%c]", unit) + record[2] = fmt.Sprintf("# >= LDC [%c]", unit) + for i, v := range breaks { + if i == 0 { + record[3] = fmt.Sprintf("#d < %.1f [%c]", v, unit) + } + record[i+4] = fmt.Sprintf("#d >= %.1f [%c]", v, unit) + } + return record +} + var intervals = []func(time.Time, time.Time) func() (time.Time, time.Time, string){ fwaMonthly: monthly, fwaQuarterly: quarterly,
--- a/pkg/controllers/stretches.go Mon May 11 11:17:00 2020 +0200 +++ b/pkg/controllers/stretches.go Mon May 11 11:41:57 2020 +0200 @@ -387,23 +387,7 @@ out := csv.NewWriter(rw) // label, lnwl, classes - record := make([]string, 1+2+len(breaks)+1) - record[0] = "# time" - record[1] = "# < LDC [d]" - record[2] = "# >= LDC [d]" - for i, v := range breaks { - if useDepth && useWidth { - if i == 0 { - record[3] = "# < break_1 [d]" - } - record[i+4] = fmt.Sprintf("# >= break_%d", i+1) - } else { - if i == 0 { - record[3] = fmt.Sprintf("# < %.1f [d]", v) - } - record[i+4] = fmt.Sprintf("# >= %.1f [d]", v) - } - } + record := makeHeaderStretches(useDepth && useWidth, breaks, 'd') if err := out.Write(record); err != nil { // Too late for HTTP status message. @@ -654,23 +638,7 @@ out := csv.NewWriter(rw) // label, lnwl, classes - record := make([]string, 1+2+len(breaks)+1) - record[0] = "# time" - record[1] = "# < LDC [%%]" - record[2] = "# >= LDC [%%]" - for i, v := range breaks { - if useDepth && useWidth { - if i == 0 { - record[3] = "# < break_1 [%%]" - } - record[i+4] = fmt.Sprintf("# >= break_%d [%%]", i+1) - } else { - if i == 0 { - record[3] = fmt.Sprintf("# < %.3f [%%]", v) - } - record[i+4] = fmt.Sprintf("# >= %.3f [%%]", v) - } - } + record := makeHeaderStretches(useDepth && useWidth, breaks, '%') if err := out.Write(record); err != nil { // Too late for HTTP status message. @@ -707,3 +675,24 @@ log.Printf("error: %v\n", err) } } + +func makeHeaderStretches(flag bool, breaks []float64, unit rune) []string { + record := make([]string, 1+2+len(breaks)+1) + record[0] = "# time" + record[1] = fmt.Sprintf("# < LDC [%c]", unit) + record[2] = fmt.Sprintf("# >= LDC [%c]", unit) + for i, v := range breaks { + if flag { + if i == 0 { + record[3] = fmt.Sprintf("# < break_1 [%c]", unit) + } + record[i+4] = fmt.Sprintf("# >= break_%d [%c]", i+1, unit) + } else { + if i == 0 { + record[3] = fmt.Sprintf("# < %.3f [%c]", v, unit) + } + record[i+4] = fmt.Sprintf("# >= %.3f [%c]", v, unit) + } + } + return record +}