From bc1be395cd9bdf0df28b91725f3ed4b52ee954a5 Mon Sep 17 00:00:00 2001 From: Florian Baumann Date: Mon, 17 Jan 2022 13:54:02 +0100 Subject: [PATCH] coloring --- serra.go | 12 ++++++++---- src/serra/root.go | 16 +++++++++++++--- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/serra.go b/serra.go index 036231d..c31fd22 100644 --- a/serra.go +++ b/serra.go @@ -19,7 +19,8 @@ var opts struct { Sets bool `docopt:"sets"` Stats bool `docopt:"stats"` Missing bool `docopt:"missing"` - Raising bool `docopt:"raising"` + Tops bool `docopt:"tops"` + Flops bool `docopt:"flops"` Update bool `docopt:"update"` CardId []string `docopt:""` SetCode string `docopt:",--set"` @@ -39,7 +40,8 @@ Usage: serra remove ... serra cards [--rarity=] [--set=] [--sort=] serra card ... - serra raising [--limit=] + serra tops [--limit=] + serra flops [--limit=] serra missing serra set serra sets @@ -71,8 +73,10 @@ Options: serra.Sets() } else if opts.Missing { serra.Missing(opts.SetCode) - } else if opts.Raising { - serra.Raising(opts.Limit) + } 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 { diff --git a/src/serra/root.go b/src/serra/root.go index 0666e27..10a75e7 100644 --- a/src/serra/root.go +++ b/src/serra/root.go @@ -398,7 +398,7 @@ func Update() error { return nil } -func Raising(limit float64) error { +func Gains(limit float64, sort int) error { client := storage_connect() coll := &Collection{client.Database("serra").Collection("cards")} @@ -450,12 +450,22 @@ func Raising(limit float64) error { }, }}, bson.D{{"$sort", - bson.D{{"rate", -1}}}}, + bson.D{{"rate", sort}}}}, bson.D{{"$limit", 20}}, } raise, _ := coll.storage_aggregate(raise_pipeline) + + // percentage coloring + var p_color string + if sort == 1 { + p_color = Red + } else { + p_color = Green + } + + // print each card for _, e := range raise { - fmt.Printf("%s%+.0f%%%s %s%s%s %s(%s/%s)%s (%.2f->%s%.2f EUR%s) \n", Green, e["rate"], Reset, Pink, e["name"], Reset, Yellow, e["set"], e["collectornumber"], Reset, e["old"], Green, e["current"], Reset) + fmt.Printf("%s%+.0f%%%s %s %s(%s/%s)%s (%.2f->%s%.2f EUR%s) \n", p_color, e["rate"], Reset, e["name"], Yellow, e["set"], e["collectornumber"], Reset, e["old"], Green, e["current"], Reset) } return nil