Skip to content

Commit

Permalink
Add query for multiple projects to BCS
Browse files Browse the repository at this point in the history
  • Loading branch information
berlam committed Oct 4, 2019
1 parent ff435d1 commit e9f1f19
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 17 deletions.
2 changes: 1 addition & 1 deletion cmd/show.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ var showBcsCmd = &cobra.Command{
conf.Userinfo(),
conf.Year,
time.Month(conf.Month),
pkg.Project(conf.Projects[0]),
pkg.Projects(conf.Projects),
conf.Report,
).Print(os.Stdout, true, &conf.Duration)
}
Expand Down
34 changes: 18 additions & 16 deletions pkg/bcs/bcs.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ func GetTimesheet(client *http.Client, server *url.URL, userinfo *url.Userinfo,
return timesheet
}

func GetBulkTimesheet(client *http.Client, server *url.URL, userinfo *url.Userinfo, year int, month time.Month, project pkg.Project, report string) pkg.Timesheet {
func GetBulkTimesheet(client *http.Client, server *url.URL, userinfo *url.Userinfo, year int, month time.Month, projects []pkg.Project, report string) pkg.Timesheet {
client.Jar, _ = cookiejar.New(&cookiejar.Options{
PublicSuffixList: publicsuffix.List,
})
Expand All @@ -79,23 +79,25 @@ func GetBulkTimesheet(client *http.Client, server *url.URL, userinfo *url.Userin
}
}()

err = showProjectEffortList(client, server, url.QueryEscape(report), month, year, project)
if err != nil {
log.Println("Could not show effort list.", err)
return pkg.Timesheet{}
}

data, err := retrieveProjectEffortList(client, server)
if err != nil {
log.Println("Could not retrieve effort list.", err)
return pkg.Timesheet{}
}

timesheet := pkg.Timesheet{}
spec := pkg.NewCsvSpecification().Header(true).User(true).Project(true).Task(true).Description(true).Date(true).Duration(true).Skip()
timesheet, err = timesheet.ReadCsv(data, &spec)
if err != nil {
log.Println("Could not read effort list.", err)
for _, project := range projects {
err = showProjectEffortList(client, server, url.QueryEscape(report), month, year, project)
if err != nil {
log.Println("Could not show effort list.", err)
return pkg.Timesheet{}
}

data, err := retrieveProjectEffortList(client, server)
if err != nil {
log.Println("Could not retrieve effort list.", err)
return pkg.Timesheet{}
}

timesheet, err = timesheet.ReadCsv(data, &spec)
if err != nil {
log.Println("Could not read effort list.", err)
}
}

return timesheet
Expand Down

0 comments on commit e9f1f19

Please sign in to comment.