From b921536ce8560af41632a936964a6cc6a2d6875a Mon Sep 17 00:00:00 2001 From: Florian Baumann Date: Thu, 30 Dec 2021 21:30:09 +0100 Subject: [PATCH] add update structure --- serra.go | 4 ++++ src/serra/card.go | 1 - src/serra/root.go | 24 ++++++++++++++++++++++-- src/serra/storage.go | 6 +++--- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/serra.go b/serra.go index c9a892b..60ab0b6 100644 --- a/serra.go +++ b/serra.go @@ -36,4 +36,8 @@ Options: serra.Sets() } + if args["update"].(bool) { + serra.Update() + } + } diff --git a/src/serra/card.go b/src/serra/card.go index 046a5b7..41fa328 100644 --- a/src/serra/card.go +++ b/src/serra/card.go @@ -124,7 +124,6 @@ type PriceEntry struct { } func fetch_card(path string) (*Card, error) { - // TODO better URL Building... resp, err := http.Get(fmt.Sprintf("https://api.scryfall.com/cards/%s/", path)) if err != nil { diff --git a/src/serra/root.go b/src/serra/root.go index 796805b..e774702 100644 --- a/src/serra/root.go +++ b/src/serra/root.go @@ -19,7 +19,6 @@ func Add(cards []string) { // Loop over different cards for _, card := range cards { - // Fetch card from scryfall c, err := fetch_card(card) if err != nil { @@ -45,7 +44,11 @@ func Cards() { client := storage_connect() coll := client.Database("serra").Collection("cards") - cards, _ := storage_find(coll) + + sort := bson.D{{"collectornumber", 1}} + filter := bson.D{{}} + cards, _ := storage_find(coll, filter, sort) + for _, card := range cards { fmt.Printf("%s (%s) %.2f\n", card.Name, card.Set, card.Prices.Eur) } @@ -74,3 +77,20 @@ func Sets() { storage_disconnect(client) } + +func Update() { + LogMessage(fmt.Sprintf("Serra %v\n", version), "green") + + client := storage_connect() + coll := client.Database("serra").Collection("cards") + + sort := bson.D{{"_id", 1}} + filter := bson.D{{"_id", "0d4f3c1d-d25e-4263-ab2b-19534c852678"}} + cards, _ := storage_find(coll, filter, sort) + + for _, card := range cards { + fmt.Printf("%s (%s) %.2f\n", card.Name, card.Set, card.Prices.Eur) + } + + storage_disconnect(client) +} diff --git a/src/serra/storage.go b/src/serra/storage.go index 997bbd2..ada2060 100644 --- a/src/serra/storage.go +++ b/src/serra/storage.go @@ -37,10 +37,10 @@ func storage_add(coll *mongo.Collection, card *Card) error { } -func storage_find(coll *mongo.Collection) ([]Card, error) { +func storage_find(coll *mongo.Collection, filter, sort bson.D) ([]Card, error) { - opts := options.Find().SetSort(bson.D{{"collectornumber", 1}}) - cursor, err := coll.Find(context.TODO(), bson.D{{}}, opts) + opts := options.Find().SetSort(sort) + cursor, err := coll.Find(context.TODO(), filter, opts) if err != nil { log.Fatal(err) }