87 lines
1.9 KiB
Go
87 lines
1.9 KiB
Go
// Package main provides a typing test
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/docopt/docopt-go"
|
|
"github.com/noqqe/serra/src/serra"
|
|
)
|
|
|
|
var opts struct {
|
|
Add bool `docopt:"add"`
|
|
Remove bool `docopt:"remove"`
|
|
Cards bool `docopt:"cards"`
|
|
Card bool `docopt:"card"`
|
|
Set bool `docopt:"set"`
|
|
Sets bool `docopt:"sets"`
|
|
Stats bool `docopt:"stats"`
|
|
Missing bool `docopt:"missing"`
|
|
Tops bool `docopt:"tops"`
|
|
Flops bool `docopt:"flops"`
|
|
Update bool `docopt:"update"`
|
|
CardId []string `docopt:"<cardid>"`
|
|
SetCode string `docopt:"<setcode>,--set"`
|
|
Count int64 `docopt:"--count"`
|
|
Sort string `docopt:"--sort"`
|
|
Rarity string `docopt:"--rarity"`
|
|
Limit float64 `docopt:"--limit"`
|
|
}
|
|
|
|
// Main Loop
|
|
func main() {
|
|
|
|
usage := `Serra
|
|
|
|
Usage:
|
|
serra add <cardid>... [--count=<number>]
|
|
serra remove <cardid>...
|
|
serra cards [--rarity=<rarity>] [--set=<setcode>] [--sort=<sort>]
|
|
serra card <cardid>...
|
|
serra tops [--limit=<limit>]
|
|
serra flops [--limit=<limit>]
|
|
serra missing <setcode>
|
|
serra set <setcode>
|
|
serra sets
|
|
serra update
|
|
serra stats
|
|
|
|
Options:
|
|
-h --help Show this screen.
|
|
--count=<number> Count of card to add. [default: 1].
|
|
--version Show version.
|
|
`
|
|
|
|
args, _ := docopt.ParseDoc(usage)
|
|
err := args.Bind(&opts)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
|
|
serra.Banner()
|
|
if opts.Add {
|
|
serra.Add(opts.CardId, opts.Count)
|
|
} else if opts.Remove {
|
|
serra.Remove(opts.CardId)
|
|
} else if opts.Cards {
|
|
serra.Cards(opts.Rarity, opts.SetCode, opts.Sort)
|
|
} else if opts.Card {
|
|
serra.ShowCard(opts.CardId)
|
|
} else if opts.Sets {
|
|
serra.Sets()
|
|
} else if opts.Missing {
|
|
serra.Missing(opts.SetCode)
|
|
} else if opts.Tops {
|
|
serra.Gains(opts.Limit, -1)
|
|
} else if opts.Flops {
|
|
serra.Gains(opts.Limit, 1)
|
|
} else if opts.Set {
|
|
serra.ShowSet(opts.SetCode)
|
|
} else if opts.Update {
|
|
serra.Update()
|
|
} else if opts.Stats {
|
|
serra.Stats()
|
|
}
|
|
|
|
}
|