mirror of
https://github.com/Threnklyn/zeit.git
synced 2026-05-19 13:23:30 +02:00
Adapting --range: lowercase switch and better messages
This commit is contained in:
+2
-1
@@ -3,6 +3,7 @@ package z
|
||||
import (
|
||||
"os"
|
||||
"fmt"
|
||||
"strings"
|
||||
"encoding/json"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
@@ -80,7 +81,7 @@ func init() {
|
||||
exportCmd.Flags().StringVar(&format, "format", "zeit", "Format to export, possible values: zeit, tyme")
|
||||
exportCmd.Flags().StringVar(&since, "since", "", "Date/time to start the export from")
|
||||
exportCmd.Flags().StringVar(&until, "until", "", "Date/time to export until")
|
||||
exportCmd.Flags().StringVar(&listRange, "range", "", "shortcut to set since/until for a given range (today, yesterday, thisWeek, lastWeek, thisMonth, lastMonth)")
|
||||
exportCmd.Flags().StringVar(&listRange, "range", "", "Shortcut for --since and --until that accepts: " + strings.Join(Ranges(), ", "))
|
||||
exportCmd.Flags().StringVarP(&project, "project", "p", "", "Project to be exported")
|
||||
exportCmd.Flags().StringVarP(&task, "task", "t", "", "Task to be exported")
|
||||
|
||||
|
||||
+16
-6
@@ -188,6 +188,16 @@ func GetGitLog(repo string, since time.Time, until time.Time) (string, string, e
|
||||
return stdoutStr, stderrStr, nil
|
||||
}
|
||||
|
||||
func Ranges() []string {
|
||||
return []string{
|
||||
"today",
|
||||
"yesterday",
|
||||
"thisWeek",
|
||||
"lastWeek",
|
||||
"thisMonth",
|
||||
"lastMonth",
|
||||
}
|
||||
}
|
||||
|
||||
func ParseSinceUntil(since string, until string, listRange string) (time.Time, time.Time) {
|
||||
|
||||
@@ -223,29 +233,29 @@ func ParseSinceUntil(since string, until string, listRange string) (time.Time, t
|
||||
|
||||
loc, _ := time.LoadLocation("Local")
|
||||
time.Local = loc
|
||||
switch listRange {
|
||||
switch strings.ToLower(listRange) {
|
||||
case "today":
|
||||
sinceTime = now.BeginningOfDay()
|
||||
untilTime = now.EndOfDay()
|
||||
case "yesterday":
|
||||
sinceTime = now.BeginningOfDay().AddDate(0, 0, -1)
|
||||
untilTime = now.EndOfDay().AddDate(0, 0, -1)
|
||||
case "thisWeek":
|
||||
case "thisweek":
|
||||
sinceTime = now.BeginningOfWeek()
|
||||
untilTime = now.EndOfWeek()
|
||||
case "lastWeek":
|
||||
case "lastweek":
|
||||
lastWeekDay := time.Now().AddDate(0, 0, -7)
|
||||
sinceTime = now.With(lastWeekDay).BeginningOfWeek()
|
||||
untilTime = now.With(lastWeekDay).EndOfWeek()
|
||||
case "thisMonth":
|
||||
case "thismonth":
|
||||
sinceTime = now.BeginningOfMonth()
|
||||
untilTime = now.EndOfMonth()
|
||||
case "lastMonth":
|
||||
case "lastmonth":
|
||||
lastMonthDay := time.Now().AddDate(0, -1, 0)
|
||||
sinceTime = now.With(lastMonthDay).BeginningOfMonth()
|
||||
untilTime = now.With(lastMonthDay).EndOfMonth()
|
||||
default:
|
||||
fmt.Println("unkown range selection: (today, yesterday, thisWeek, lastWeek, thisMonth, lastMonth)")
|
||||
fmt.Println("Unknown range selection, possible options: ", strings.Join(Ranges(), " "))
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -2,6 +2,7 @@ package z
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/shopspring/decimal"
|
||||
"github.com/spf13/cobra"
|
||||
@@ -38,7 +39,7 @@ func init() {
|
||||
rootCmd.AddCommand(listCmd)
|
||||
listCmd.Flags().StringVar(&since, "since", "", "Date/time to start the list from")
|
||||
listCmd.Flags().StringVar(&until, "until", "", "Date/time to list until")
|
||||
listCmd.Flags().StringVar(&listRange, "range", "", "shortcut to set since/until for a given range (today, yesterday, thisWeek, lastWeek, thisMonth, lastMonth)")
|
||||
listCmd.Flags().StringVar(&listRange, "range", "", "Shortcut for --since and --until that accepts: " + strings.Join(Ranges(), ", "))
|
||||
listCmd.Flags().StringVarP(&project, "project", "p", "", "Project to be listed")
|
||||
listCmd.Flags().StringVarP(&task, "task", "t", "", "Task to be listed")
|
||||
listCmd.Flags().BoolVar(&fractional, "decimal", false, "Show fractional hours in decimal format instead of minutes")
|
||||
|
||||
Reference in New Issue
Block a user