Add --oralce

This commit is contained in:
Florian Baumann 2023-02-20 09:33:22 +01:00
parent 5cc20e8bad
commit 8d4bd7adbb
2 changed files with 11 additions and 3 deletions

View File

@ -13,6 +13,7 @@ func init() {
cardCmd.Flags().StringVarP(&set, "set", "e", "", "Filter by set code (usg/mmq/vow)") cardCmd.Flags().StringVarP(&set, "set", "e", "", "Filter by set code (usg/mmq/vow)")
cardCmd.Flags().StringVarP(&sort, "sort", "s", "name", "How to sort cards (value/number/name/added)") cardCmd.Flags().StringVarP(&sort, "sort", "s", "name", "How to sort cards (value/number/name/added)")
cardCmd.Flags().StringVarP(&name, "name", "n", "", "Name of the card (regex compatible)") cardCmd.Flags().StringVarP(&name, "name", "n", "", "Name of the card (regex compatible)")
cardCmd.Flags().StringVarP(&oracle, "oracle", "o", "", "Contains string in card text")
rootCmd.AddCommand(cardCmd) rootCmd.AddCommand(cardCmd)
} }
@ -26,7 +27,7 @@ otherwise you'll get a list of cards as a search result.`,
SilenceErrors: true, SilenceErrors: true,
RunE: func(cmd *cobra.Command, cards []string) error { RunE: func(cmd *cobra.Command, cards []string) error {
if len(cards) == 0 { if len(cards) == 0 {
Cards(rarity, set, sort, name) Cards(rarity, set, sort, name, oracle)
} else { } else {
ShowCard(cards) ShowCard(cards)
} }
@ -50,7 +51,7 @@ func ShowCard(cardids []string) {
} }
} }
func Cards(rarity, set, sort, name string) { func Cards(rarity, set, sort, name, oracle string) {
var total float64 var total float64
client := storage_connect() client := storage_connect()
@ -94,6 +95,10 @@ func Cards(rarity, set, sort, name string) {
filter = append(filter, bson.E{"name", bson.D{{"$regex", ".*" + name + ".*"}, {"$options", "i"}}}) filter = append(filter, bson.E{"name", bson.D{{"$regex", ".*" + name + ".*"}, {"$options", "i"}}})
} }
if len(oracle) > 0 {
filter = append(filter, bson.E{"oracletext", bson.D{{"$regex", ".*" + oracle + ".*"}, {"$options", "i"}}})
}
cards, _ := coll.storage_find(filter, sortStage) cards, _ := coll.storage_find(filter, sortStage)
for _, card := range cards { for _, card := range cards {

View File

@ -12,7 +12,10 @@ var count int64
var limit float64 var limit float64
var name string var name string
var since string var since string
var rarity, set, sort string var rarity string
var set string
var sort string
var oracle string
var unique bool var unique bool
var rootCmd = &cobra.Command{ var rootCmd = &cobra.Command{