add sorting option
This commit is contained in:
parent
c78c766825
commit
35bc36ad88
5
serra.go
5
serra.go
@ -23,6 +23,7 @@ var opts struct {
|
||||
CardId []string `docopt:"<cardid>"`
|
||||
SetCode string `docopt:"<setcode>,--set"`
|
||||
Count int64 `docopt:"--count"`
|
||||
Sort string `docopt:"--sort"`
|
||||
Rarity string `docopt:"--rarity"`
|
||||
}
|
||||
|
||||
@ -34,7 +35,7 @@ func main() {
|
||||
Usage:
|
||||
serra add <cardid>... [--count=<number>]
|
||||
serra remove <cardid>...
|
||||
serra cards [--rarity=<rarity>] [--set=<setcode>]
|
||||
serra cards [--rarity=<rarity>] [--set=<setcode>] [--sort=<sort>]
|
||||
serra card <cardid>...
|
||||
serra missing <setcode>
|
||||
serra set <setcode>
|
||||
@ -60,7 +61,7 @@ Options:
|
||||
} else if opts.Remove {
|
||||
serra.Remove(opts.CardId)
|
||||
} else if opts.Cards {
|
||||
serra.Cards(opts.Rarity, opts.SetCode)
|
||||
serra.Cards(opts.Rarity, opts.SetCode, opts.Sort)
|
||||
} else if opts.Card {
|
||||
serra.ShowCard(opts.CardId)
|
||||
} else if opts.Sets {
|
||||
|
||||
@ -80,7 +80,7 @@ func Remove(cards []string) {
|
||||
}
|
||||
}
|
||||
|
||||
func Cards(rarity, set string) {
|
||||
func Cards(rarity, set, sort string) {
|
||||
|
||||
var total float64
|
||||
client := storage_connect()
|
||||
@ -98,11 +98,22 @@ func Cards(rarity, set string) {
|
||||
filter = append(filter, bson.E{"rarity", "rare"})
|
||||
}
|
||||
|
||||
var sortStage bson.D
|
||||
switch sort {
|
||||
case "value":
|
||||
sortStage = bson.D{{"prices.eur", 1}}
|
||||
case "collectornumber":
|
||||
sortStage = bson.D{{"collectornumber", 1}}
|
||||
case "name":
|
||||
sortStage = bson.D{{"name", 1}}
|
||||
}
|
||||
fmt.Println(sortStage)
|
||||
|
||||
if len(set) > 0 {
|
||||
filter = append(filter, bson.E{"set", set})
|
||||
}
|
||||
|
||||
cards, _ := coll.storage_find(filter, bson.D{{"name", 1}})
|
||||
cards, _ := coll.storage_find(filter, sortStage)
|
||||
|
||||
for _, card := range cards {
|
||||
LogMessage(fmt.Sprintf("* %dx %s%s%s (%s/%s) %s%.2f EUR%s", card.SerraCount, Purple, card.Name, Reset, card.Set, card.CollectorNumber, Yellow, card.Prices.Eur, Reset), "normal")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user