Add support for flags. Disable or enable day or year renders. Provide a way to add a third and custom epoch.
This commit is contained in:
parent
2a3225c169
commit
d7b94b978c
56
tp.go
56
tp.go
@ -1,6 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"time"
|
||||
@ -80,6 +81,25 @@ func renderDay() string {
|
||||
return render
|
||||
}
|
||||
|
||||
func renderCustom(t1 time.Time, t2 time.Time) string {
|
||||
|
||||
var ct time.Time
|
||||
var offset int
|
||||
ct, offset = getCurrentTime()
|
||||
|
||||
seconds := t2.Sub(t1).Seconds()
|
||||
tdiff := ct.Sub(t1).Seconds()
|
||||
|
||||
percentage := calcPercentageFloat64(seconds, tdiff+float64(offset))
|
||||
|
||||
var render string
|
||||
render = renderPercentage(percentage)
|
||||
render = render + fmt.Sprintf(" %.7f%%", percentage)
|
||||
|
||||
return render
|
||||
|
||||
}
|
||||
|
||||
func getCurrentTime() (time.Time, int) {
|
||||
// Declarations
|
||||
var offset int
|
||||
@ -144,6 +164,38 @@ func startYear(year, month, day int) time.Time {
|
||||
}
|
||||
|
||||
func main() {
|
||||
fmt.Println(renderDay())
|
||||
fmt.Println(renderYear())
|
||||
|
||||
var dayFlag = flag.Bool("day", true, "Display progress of the day.")
|
||||
var yearFlag = flag.Bool("year", true, "Display progress of this year.")
|
||||
|
||||
var customFlag = flag.Bool("custom", false, "Display a custom range")
|
||||
var customStart = flag.String("custom-start", "", "Start of the custom range")
|
||||
var customStop = flag.String("custom-stop", "", "Start of the custom range")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
if *dayFlag {
|
||||
fmt.Println(renderDay())
|
||||
}
|
||||
|
||||
if *yearFlag {
|
||||
fmt.Println(renderYear())
|
||||
}
|
||||
|
||||
if *customFlag {
|
||||
|
||||
bt, err := time.Parse(time.RFC3339, *customStart)
|
||||
if err != nil {
|
||||
log.Fatalln("Error parsing start time: ", err)
|
||||
}
|
||||
|
||||
pa, err := time.Parse(time.RFC3339, *customStop)
|
||||
if err != nil {
|
||||
log.Fatalln("Error parsing stop time: ", err)
|
||||
}
|
||||
|
||||
fmt.Println(renderCustom(bt, pa))
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user