blob: 5d0fa7fe6c6b36cbac05a7ba18de4b8068985eba (
plain)
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
|
package timetask
import (
"io"
"log"
"text/template"
"time"
"github.com/olebedev/when"
"github.com/olebedev/when/rules/common"
"github.com/olebedev/when/rules/en"
)
func GenerateWeeklyTimesheet(wr io.Writer, defaults TimeEntry) {
w := when.New(nil)
w.Add(en.All...)
w.Add(common.All...)
monday, err := w.Parse("last monday", time.Now())
if err != nil {
log.Panic(err)
}
time_entries := []TimeEntry{}
day := monday.Time
for i := 1; i <= 5; i++ {
time_entries = append(time_entries, defaults)
time_entries[len(time_entries) - 1].Date = day
day = day.AddDate(0, 0, 1) // Add 1 day
}
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)
}
}
|