diff options
| -rw-r--r-- | main.go | 7 | ||||
| -rw-r--r-- | templates/timesheet.yml.tmpl | 11 | ||||
| -rw-r--r-- | templates/weekly_timesheet.yml.tmpl | 3 | ||||
| -rw-r--r-- | timetask/generator.go | 27 | 
4 files changed, 46 insertions, 2 deletions
| @@ -16,7 +16,8 @@ type Config struct {  		Username    string  		PasswordCmd string `yaml:"password_cmd"`  	} -	Fields timetask.Fields +	Fields   timetask.Fields +	Defaults timetask.TimeEntry  }  var config Config @@ -43,7 +44,9 @@ func main() {  	log.Printf("%+v", time_entries) -	timetask.SubmitTimeEntries(config.Fields, time_entries) +	// timetask.SubmitTimeEntries(config.Fields, time_entries) + +	timetask.GenerateWeeklyTimesheet(os.Stdout, config.Defaults)  }  func loadConfig() { diff --git a/templates/timesheet.yml.tmpl b/templates/timesheet.yml.tmpl new file mode 100644 index 0000000..1930b09 --- /dev/null +++ b/templates/timesheet.yml.tmpl @@ -0,0 +1,11 @@ +{{- define "timesheet" -}} +- client: {{.Client}} +  project: {{.Project}} +  module: {{.Module}} +  task: {{.Task}} +  work_type: {{.WorkType}} +  date: {{.Date.Format "02/01/06"}} +  time: {{.Time}} +  billable: {{.Billable}} +  description: {{.Description}} +{{ end -}} diff --git a/templates/weekly_timesheet.yml.tmpl b/templates/weekly_timesheet.yml.tmpl new file mode 100644 index 0000000..0ea6582 --- /dev/null +++ b/templates/weekly_timesheet.yml.tmpl @@ -0,0 +1,3 @@ +{{- range . -}} +	{{- template "timesheet" . -}} +{{- end -}} diff --git a/timetask/generator.go b/timetask/generator.go new file mode 100644 index 0000000..25986ae --- /dev/null +++ b/timetask/generator.go @@ -0,0 +1,27 @@ +package timetask + +import ( +	"io" +	"log" +	"text/template" +) + +func GenerateWeeklyTimesheet(wr io.Writer, defaults TimeEntry) { +	time_entries := []TimeEntry{} +	for i := 1; i <= 5; i++ { +		time_entries = append(time_entries, defaults) +	} + +	t, err := template.ParseFiles( +		"templates/weekly_timesheet.yml.tmpl", +		"templates/timesheet.yml.tmpl", +	) +	if err != nil { +		log.Panic(err) +	} + +	err = t.Execute(wr, time_entries) +	if err != nil { +		log.Panic(err) +	} +} | 
