gott

package
v0.0.0-...-5961000 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 14, 2022 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KeyToday     = ":today"
	KeyYesterday = ":yesterday"
	KeyWeek      = ":week"
	KeyMonth     = ":month"
	KeyAll       = ":all"
)
View Source
const (
	StatusStarted = "started"
	StatusEnded   = "ended"
)
View Source
const (
	ProjectPrefix      = "project:"
	ProjectPrefixShort = "proj:"
	RefPrefix          = "ref:"
	TagPrefix          = "+"
)
View Source
const (
	ConfDatabaseName = "databasename"
)

Variables

Functions

func DaySumLine

func DaySumLine(t *tabby.Tabby, dur time.Duration)

func Execute

func Execute()

func PrintRunningStatus

func PrintRunningStatus()

func PrintStatus

func PrintStatus(interval *Interval)

func WeekSumLine

func WeekSumLine(t *tabby.Tabby, dur time.Duration)

Types

type Database

type Database interface {
	GetCurrent() (*Interval, bool)
	Get(id string) (*Interval, bool)
	Start(interval Interval)
	Cancel()
	Stop()
	Append(interval Interval)
	AppendPtr(interval *Interval)
	RemoveById(id string)
	// Remove(interval *Interval)
	Filter(args []string) ([]*Interval, error)
	Apply(interval Interval) error
	Load() error
	Save() error
	Count() int
	Latest() (*Interval, error)
}

type DatabaseJson

type DatabaseJson struct {
	Current   string
	Intervals []*Interval
	// contains filtered or unexported fields
}

func NewDatabaseJson

func NewDatabaseJson(filename string) *DatabaseJson

func (*DatabaseJson) Append

func (d *DatabaseJson) Append(interval Interval)

func (*DatabaseJson) AppendPtr

func (d *DatabaseJson) AppendPtr(interval *Interval)

func (*DatabaseJson) Apply

func (d *DatabaseJson) Apply(i Interval) error

func (*DatabaseJson) Cancel

func (d *DatabaseJson) Cancel()

func (*DatabaseJson) Count

func (d *DatabaseJson) Count() int

func (*DatabaseJson) Filter

func (d *DatabaseJson) Filter(args []string) ([]*Interval, error)

func (*DatabaseJson) Get

func (d *DatabaseJson) Get(id string) (*Interval, bool)

func (*DatabaseJson) GetCurrent

func (d *DatabaseJson) GetCurrent() (*Interval, bool)

func (*DatabaseJson) Latest

func (d *DatabaseJson) Latest() (*Interval, error)

func (*DatabaseJson) Load

func (d *DatabaseJson) Load() error

func (*DatabaseJson) RemoveById

func (d *DatabaseJson) RemoveById(id string)

func (*DatabaseJson) Save

func (d *DatabaseJson) Save() error

func (*DatabaseJson) Start

func (d *DatabaseJson) Start(interval Interval)

func (*DatabaseJson) Stop

func (d *DatabaseJson) Stop()

type Interval

type Interval struct {
	// Interval Status
	ID         string
	Begin      time.Time
	End        time.Time
	Duration   time.Duration
	Tags       []string
	Project    string
	Ref        string
	Annotation string
	Raw        string
	UDA        map[string]interface{}
	Status     string
}

func NewInterval

func NewInterval(raw []string) (interval Interval)

func (*Interval) GetDuration

func (i *Interval) GetDuration() time.Duration

func (*Interval) Stop

func (i *Interval) Stop()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL