Compare commits
No commits in common. "trunk" and "20230227" have entirely different histories.
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +0,0 @@
|
||||
builds
|
24
README.md
24
README.md
@ -12,28 +12,6 @@ For example. This was taken at 20:05 on 15th of December 2022:
|
||||
|
||||
This is goes great with Conky and it allows you to display this on your desktop. As the past grows larger and times keeps ebbing away, this tool allows you to track this.
|
||||
|
||||
## Usage
|
||||
```
|
||||
$ ./timepercentage.linux-amd64 --help
|
||||
Usage of ./timepercentage.linux-amd64:
|
||||
-custom
|
||||
Display a custom range
|
||||
-custom-start string
|
||||
Start of the custom range
|
||||
-custom-stop string
|
||||
Start of the custom range
|
||||
-day
|
||||
Display progress of the day. (default true)
|
||||
-year
|
||||
Display progress of this year. (default true)
|
||||
```
|
||||
|
||||
By default the tool prints the progress of the day and the year. A custom and optional date range can be specified by using the `custom`, `custom-start`, and `custom-stop` program flags. For example:
|
||||
```
|
||||
$ ./timepercentage.linux-amd64 --day=false --year=false --custom=true --custom-start="1990-01-01T12:00:00+01:00" --custom-stop="2030-01-01T12:00:00+01:00"
|
||||
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░ 84.8765436%
|
||||
```
|
||||
The start and stop times have to be specified in the [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format.
|
||||
|
||||
## Building
|
||||
Checking out this repo and running `go build` should do this for you. Or run `build.sh` to build for other platforms.
|
||||
Checking out this repo and running `go build` should do this for you.
|
12
build.sh
12
build.sh
@ -1,10 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
mkdir -p builds
|
||||
|
||||
rm builds/*
|
||||
|
||||
go tool dist list | grep -v android | grep -v ios | grep -v wasip1 | awk -F '/' '{printf "echo Compiling %s/%s; env CGO_ENABLED=1 GOOS=%s GOARCH=%s go build -o builds/timepercentage.%s-%s\n",$1,$2,$1,$2,$1,$2 }' | sh
|
||||
|
||||
cd builds
|
||||
for i in `ls *windows*`; do mv -v $i $i.exe; done
|
||||
env GOOS=linux GOARCH=amd64 go build -o timepercentage.linux-amd64
|
||||
env GOOS=windows GOARCH=amd64 go build -o timepercentage.windows-amd64.exe
|
56
tp.go
56
tp.go
@ -1,7 +1,6 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"time"
|
||||
@ -81,25 +80,6 @@ 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
|
||||
@ -164,38 +144,6 @@ func startYear(year, month, day int) time.Time {
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
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))
|
||||
|
||||
}
|
||||
|
||||
fmt.Println(renderDay())
|
||||
fmt.Println(renderYear())
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user