From b4f0067b4a411924b17b42c8232039dbef3037f9 Mon Sep 17 00:00:00 2001 From: Florian Baumann Date: Fri, 30 Jun 2023 09:53:54 +0200 Subject: [PATCH] Fix issue printing correct currency values in set and card --- src/serra/card.go | 2 +- src/serra/env.go | 13 +++++++------ src/serra/gains.go | 2 +- src/serra/helpers.go | 10 ++++++---- src/serra/scryfall.go | 2 +- src/serra/set.go | 2 +- 6 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/serra/card.go b/src/serra/card.go index 95b0d11..b78da28 100644 --- a/src/serra/card.go +++ b/src/serra/card.go @@ -80,7 +80,7 @@ func Cards(rarity, set, sortby, name, oracle, cardType string, reserved, foil bo var sortStage bson.D switch sortby { case "value": - if getCurrency() == "EUR" { + if getCurrency() == EUR { sortStage = bson.D{{"prices.eur", 1}} } else { sortStage = bson.D{{"prices.usd", 1}} diff --git a/src/serra/env.go b/src/serra/env.go index 36b5a2b..07dd8a2 100644 --- a/src/serra/env.go +++ b/src/serra/env.go @@ -5,6 +5,9 @@ import ( "os" ) +const EUR = "€" +const USD = "$" + func getMongoDBURI() string { uri := os.Getenv("MONGODB_URI") if uri == "" { @@ -19,13 +22,11 @@ func getMongoDBURI() string { func getCurrency() string { switch os.Getenv("SERRA_CURRENCY") { case "EUR": - return "€" + return EUR case "USD": + return USD + default: + LogMessage("Warning: You did not configure SERRA_CURRENCY. Assuming \"USD\"", "yellow") return "$" } - - // default - LogMessage("Warning: You did not configure SERRA_CURRENCY. Assuming \"USD\"", "yellow") - - return "USD" } diff --git a/src/serra/gains.go b/src/serra/gains.go index efed8fe..96bf893 100644 --- a/src/serra/gains.go +++ b/src/serra/gains.go @@ -57,7 +57,7 @@ func Gains(limit float64, sort int) error { } currencyField := "$serra_prices.usd" - if getCurrency() == "EUR" { + if getCurrency() == EUR { currencyField = "$serra_prices.eur" } diff --git a/src/serra/helpers.go b/src/serra/helpers.go index f325f14..7c4d3fc 100644 --- a/src/serra/helpers.go +++ b/src/serra/helpers.go @@ -167,14 +167,16 @@ func showPriceHistory(prices []PriceEntry, prefix string, total bool) { var value float64 if total { - value = e.Usd + e.UsdFoil + e.UsdEtched - if getCurrency() == "EUR" { + if getCurrency() == EUR { value = e.Eur + e.EurFoil + } else { + value = e.Usd + e.UsdFoil } } else { - value = e.Usd - if getCurrency() == "EUR" { + if getCurrency() == EUR { value = e.Eur + } else { + value = e.Usd } } diff --git a/src/serra/scryfall.go b/src/serra/scryfall.go index 00af308..9afe37a 100644 --- a/src/serra/scryfall.go +++ b/src/serra/scryfall.go @@ -119,7 +119,7 @@ type Card struct { // Getter for currency specific value func (c Card) getValue(foil bool) float64 { - if getCurrency() == "EUR" { + if getCurrency() == EUR { if foil { return c.Prices.EurFoil } diff --git a/src/serra/set.go b/src/serra/set.go index 1866e5b..78f4884 100644 --- a/src/serra/set.go +++ b/src/serra/set.go @@ -92,7 +92,7 @@ func ShowSet(setname string) error { // fetch all cards in set ordered by currently used currency cardSortCurrency := bson.D{{"prices.usd", -1}} - if getCurrency() == "EUR" { + if getCurrency() == EUR { cardSortCurrency = bson.D{{"prices.eur", -1}} } cards, err := coll.storageFind(bson.D{{"set", setname}}, cardSortCurrency, 0, 0)