-
Notifications
You must be signed in to change notification settings - Fork 45
/
chart_parser_pie.go
50 lines (41 loc) · 1021 Bytes
/
chart_parser_pie.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package main
import (
"github.com/zieckey/goini"
"strings"
)
type PieChart int
func (c *PieChart) Parse(ini *goini.INI, file string) (map[string]string, error) {
args := make(map[string]string)
args["ChartType"], _ = ini.Get("ChartType")
args["Title"], _ = ini.Get("Title")
args["SubTitle"], _ = ini.Get("SubTitle")
args["SeriesName"], _ = ini.Get("SeriesName")
/* Generate DataArray:
[
['Firefox', 45.0],
['IE', 26.8],
['Chrome', 12.8],
['Safari', 8.5],
['Opera', 6.2],
['Others', 0.7]
]
*/
DataArray := "[\n"
mapkeys, kvmap, err := LoadConfGetOrderMap(file)
if err != nil {
return nil, err
}
for _, k := range mapkeys {
if !strings.HasPrefix(k, DataPrefix) {
continue
}
key := k[len(DataPrefix):]
DataArray = DataArray + "['" + key + "' , " + kvmap[k] + "],\n"
}
DataArray = DataArray + "]"
args["DataArray"] = DataArray
return args, nil
}
func (c *PieChart) Template() string {
return TemplatePieHtml
}