diff options
| author | Teddy Wing | 2017-06-03 16:26:17 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2017-06-03 16:26:17 +0200 | 
| commit | 8d802bff08826523371ab5e951d85d0c0396ccc8 (patch) | |
| tree | 68452ca770efe9689e28d7b5f98697153b2ace67 /main.go | |
| parent | 47ec5ffeea72fff2019636be2c97ee36fcd176a6 (diff) | |
| download | timetasker-8d802bff08826523371ab5e951d85d0c0396ccc8.tar.bz2 | |
Add command line argument parsing
* Use the Kingpin library to give us POSIX command line argument parsing
  with a nice interface
* Add arguments for the project alias (specified in config.toml), time
  spent, date, and description
* Add a version, required by Kingpin
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 22 | 
1 files changed, 22 insertions, 0 deletions
| @@ -8,6 +8,7 @@ import (  	"github.com/teddywing/timetasker/timetask"  	"github.com/BurntSushi/toml" +	"gopkg.in/alecthomas/kingpin.v2"  )  type Config struct { @@ -24,6 +25,27 @@ var config Config  func main() {  	loadConfig() +	// Parse command line arguments +	project_alias := kingpin.Flag( +		"project", +		"Project alias defined in config.toml.", +	). +		Short('p'). +		Required(). +		String() +	time_spent := kingpin.Flag("time", "Time spent working on project."). +		Short('t'). +		Default("7"). +		Int() +	date := kingpin.Flag("date", "Date when work was done (e.g. 2017-01-31)"). +		String() +	description := kingpin.Flag("description", "Description of work."). +		Short('m'). +		String() +	kingpin.Version("0.1.0") +	kingpin.Parse() + +	// Submit time entry  	resp, client, err := timetask.Login(  		config.Auth.Username,  		config.Auth.PasswordCmd, | 
