summaryrefslogtreecommitdiff
path: root/zeitgeist.go
diff options
context:
space:
mode:
authorÖzgür Kesim <oec@codeblau.de>2024-12-03 17:50:03 +0100
committerÖzgür Kesim <oec@codeblau.de>2024-12-03 17:50:03 +0100
commitddbc2e9f4ac0940ca08e430d64bb0b1697b609da (patch)
tree25c9fc641ae9ca0bbabeea55ce0634a6cf171597 /zeitgeist.go
parentb309f277eb32a5dda0120f274e153a010806a91a (diff)
added percentage and diffmain
Diffstat (limited to 'zeitgeist.go')
-rw-r--r--zeitgeist.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/zeitgeist.go b/zeitgeist.go
index 2e99d91..a44f25c 100644
--- a/zeitgeist.go
+++ b/zeitgeist.go
@@ -644,6 +644,27 @@ var funcs = template.FuncMap{
d, e := time.Parse(time.DateOnly, in)
return Date(d), e
},
+ "Percent": func(a, b Amount) float64 {
+ return float64(a/b) * 100
+ },
+ "AsDay": func(a Amount) string {
+ return a.AsDay()
+ },
+ "AsMonth": func(a Amount) string {
+ return a.AsMonth()
+ },
+ "Unit": func(unit string, a Amount) (string, error) {
+ switch unit {
+ case "M", "m":
+ return a.AsMonth(), nil
+ case "D", "d":
+ return a.AsDay(), nil
+ case "H", "h":
+ return a.String(), nil
+ default:
+ return "", fmt.Errorf("unknown unit %q", unit)
+ }
+ },
}
func (p *Project) printReport(name string) {
@@ -960,6 +981,10 @@ func (t *Totals) Open() Amount {
return d
}
+func (t *Totals) Difference() Amount {
+ return t.Planned - t.Done
+}
+
func (t *Totals) Percent() float64 {
if t.Done < 1 && t.Planned < 1 {
return 0