Skip to content

Commit

Permalink
feat: 🎸 gsheet improvement structure of code
Browse files Browse the repository at this point in the history
  • Loading branch information
StanGirard committed Aug 2, 2022
1 parent 3980071 commit 790f199
Show file tree
Hide file tree
Showing 8 changed files with 390 additions and 295 deletions.
3 changes: 3 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,14 @@ require (
github.com/prometheus/client_model v0.2.0 // indirect
github.com/prometheus/common v0.32.1 // indirect
github.com/prometheus/procfs v0.7.3 // indirect
github.com/yuin/goldmark v1.4.13 // indirect
go.opencensus.io v0.23.0 // indirect
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
golang.org/x/net v0.0.0-20220728211354-c7608f3a8462 // indirect
golang.org/x/sys v0.0.0-20220731174439-a90be440212d // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/tools v0.1.12 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f // indirect
google.golang.org/grpc v1.48.0 // indirect
Expand Down
6 changes: 6 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,8 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
Expand Down Expand Up @@ -356,6 +358,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
Expand Down Expand Up @@ -574,6 +578,8 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
Expand Down
84 changes: 84 additions & 0 deletions internal/gsheet/charts.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
package gsheet

import (
"google.golang.org/api/sheets/v4"
)

func createBasicChartSeries(values [][]interface{}) []*sheets.BasicChartSeries {
var BasicChartSeries []*sheets.BasicChartSeries
for i := range values {
if i == 0 {
continue
}
BasicChartSeries = append(BasicChartSeries, &sheets.BasicChartSeries{
Series: &sheets.ChartData{
SourceRange: &sheets.ChartSourceRange{
Sources: []*sheets.GridRange{
{ //A2:O2
SheetId: 1023,
StartRowIndex: int64(i),
EndRowIndex: int64(i + 1),
StartColumnIndex: 0,
EndColumnIndex: int64(len(values[i])),
},
},
},
},
})
}
return BasicChartSeries
}

func createHistogramSeries(values [][]interface{}) []*sheets.HistogramSeries {
var HistogramSeries []*sheets.HistogramSeries
for i := range values {
if i == 0 {
continue
}
HistogramSeries = append(HistogramSeries, &sheets.HistogramSeries{
Data: &sheets.ChartData{
SourceRange: &sheets.ChartSourceRange{
Sources: []*sheets.GridRange{
{ //A2:O2
SheetId: 1023,
StartRowIndex: int64(i),
EndRowIndex: int64(i + 1),
StartColumnIndex: 0,
EndColumnIndex: int64(len(values[i])),
},
},
},
},
})
}
return HistogramSeries
}

func createBasicChartSpec(legendPosition, chartype, stackedType string, sourceSheetId int64, values [][]interface{}, basicChartSeries []*sheets.BasicChartSeries) *sheets.BasicChartSpec {
var BasicChartSpec *sheets.BasicChartSpec
BasicChartSpec = &sheets.BasicChartSpec{
HeaderCount: 1,
Series: basicChartSeries,
LegendPosition: "BOTTOM_LEGEND",
ChartType: "COLUMN",
StackedType: "STACKED",
Domains: []*sheets.BasicChartDomain{
{
Domain: &sheets.ChartData{
SourceRange: &sheets.ChartSourceRange{
Sources: []*sheets.GridRange{
{
SheetId: 1023,
StartRowIndex: 0,
EndRowIndex: 1,
StartColumnIndex: 0,
EndColumnIndex: int64(len(values[0])),
},
},
},
},
},
},
}
return BasicChartSpec
}
Loading

0 comments on commit 790f199

Please sign in to comment.