Remove broken decklist functionality
This commit is contained in:
parent
87a94f800d
commit
6def107873
|
@ -1,10 +1,7 @@
|
|||
removedb:
|
||||
mysql --user=root --password=$(shell pass show sevenkeys/mysql) <sql/removedb.sql
|
||||
|
||||
createdb:
|
||||
mysql --user=root --password=$(shell pass show sevenkeys/mysql) <sql/createdb.sql
|
||||
|
||||
importcards: createdb
|
||||
go run cmd/importcards/main.go
|
||||
|
||||
getdecks:
|
||||
go run cmd/getdecks/main.go
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sevenkeys/mtggoldfish"
|
||||
)
|
||||
|
||||
func main() {
|
||||
params := mtggoldfish.DeckSearchParameters{
|
||||
Format: "pauper",
|
||||
IncludeTournamentDecks: true,
|
||||
StartDate: "04/14/2024",
|
||||
EndDate: "04/28/2024",
|
||||
}
|
||||
|
||||
decks, _ := mtggoldfish.DeckSearch(params)
|
||||
fmt.Println(decks)
|
||||
}
|
|
@ -1,98 +0,0 @@
|
|||
package mtggoldfish
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/PuerkitoBio/goquery"
|
||||
"github.com/geziyor/geziyor"
|
||||
"github.com/geziyor/geziyor/client"
|
||||
"github.com/geziyor/geziyor/export"
|
||||
)
|
||||
|
||||
var DECK_SEARCH_URL string = "https://www.mtggoldfish.com/deck_searches/create"
|
||||
|
||||
const (
|
||||
TypeMaindeck = "maindeck"
|
||||
TypeSideboard = "sideboard"
|
||||
TypeCommander = "commander"
|
||||
)
|
||||
|
||||
type DeckSearchIncludedCard struct {
|
||||
Name string
|
||||
Quantity int
|
||||
Type string
|
||||
}
|
||||
|
||||
type DeckSearchParameters struct {
|
||||
Name string
|
||||
Format string
|
||||
IncludeTournamentDecks bool
|
||||
IncludeUserDecks bool
|
||||
Player string
|
||||
StartDate string // TODO: Date type?
|
||||
EndDate string // TODO: Date type?
|
||||
IncludedCards []DeckSearchCard
|
||||
}
|
||||
|
||||
func (p *DeckSearchParameters) String() string {
|
||||
searchUrl := DECK_SEARCH_URL + "?utf8=✓" +
|
||||
"&deck_search[name]=" + p.Name +
|
||||
"&deck_search[format]=" + p.Format +
|
||||
"&deck_search[types][]="
|
||||
|
||||
if p.IncludeTournamentDecks {
|
||||
searchUrl = searchUrl + "&deck_search[types][]=tournament"
|
||||
}
|
||||
|
||||
if p.IncludeUserDecks {
|
||||
searchUrl = searchUrl + "&deck_search[types][]=user"
|
||||
}
|
||||
|
||||
searchUrl = searchUrl + "&deck_search[player]=" + p.Player
|
||||
//"&deck_search[date_range]=" + p.StartDate + " - " + p.EndDate
|
||||
|
||||
return searchUrl
|
||||
}
|
||||
|
||||
type DeckSearchCard struct {
|
||||
Name string
|
||||
Quantity int
|
||||
Type string
|
||||
}
|
||||
|
||||
type DeckSearchDecklist struct {
|
||||
MtgGoldfishId int
|
||||
Date string // TODO: Date type?
|
||||
Name string
|
||||
Source string
|
||||
Format string
|
||||
Author string
|
||||
Cards []DeckSearchCard
|
||||
}
|
||||
|
||||
type DeckSearchResults struct {
|
||||
Decklists []DeckSearchDecklist
|
||||
DeckCount int
|
||||
PageCount int
|
||||
}
|
||||
|
||||
func parseSearchResults(g *geziyor.Geziyor, r *client.Response) {
|
||||
r.HTMLDoc.Find("div.table-responsive").Each(func(i int, s *goquery.Selection) {
|
||||
g.Exports <- map[string]interface{}{
|
||||
"test": s.Find("table>thead>tr>th").Text(),
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func DeckSearch(params DeckSearchParameters) (DeckSearchResults, error) {
|
||||
searchUrl := `https://www.mtggoldfish.com/deck_searches/create?utf8=✓&deck_search[name]=Burn&deck_search[format]=pauper&deck_search[types][]=&deck_search[types][]=tournament&deck_search[types][]=user&deck_search[player]=Jirach1&deck_search[date_range]=04%2F14%2F2024+-+04%2F28%2F2024&deck_search[deck_search_card_filters_attributes][0][card]=Kuldotha+Rebirth&deck_search[deck_search_card_filters_attributes][0][quantity]=4&deck_search[deck_search_card_filters_attributes][0][type]=maindeck&deck_search[deck_search_card_filters_attributes][1][card]=&deck_search[deck_search_card_filters_attributes][1][quantity]=1&deck_search[deck_search_card_filters_attributes][1][type]=maindeck&deck_search[deck_search_card_filters_attributes][2][card]=&deck_search[deck_search_card_filters_attributes][2][quantity]=1&deck_search[deck_search_card_filters_attributes][2][type]=maindeck&counter=3&commit=Search`
|
||||
fmt.Println(searchUrl)
|
||||
|
||||
geziyor.NewGeziyor(&geziyor.Options{
|
||||
StartURLs: []string{searchUrl},
|
||||
ParseFunc: parseSearchResults,
|
||||
Exporters: []export.Exporter{&export.JSON{}},
|
||||
}).Start()
|
||||
|
||||
return DeckSearchResults{}, nil
|
||||
}
|
|
@ -19,26 +19,3 @@ CREATE TABLE IF NOT EXISTS CardPrinting (
|
|||
SetCode VARCHAR(6) NOT NULL,
|
||||
ImageUrl VARCHAR(2048) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS TournamentDecklist (
|
||||
Id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
DeckName VARCHAR(100) NOT NULL,
|
||||
DatePublished DATE NOT NULL,
|
||||
Source VARCHAR(200) NOT NULL,
|
||||
Format VARCHAR(25) NOT NULL,
|
||||
AuthorName VARCHAR(100) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS TournamentDecklistCard (
|
||||
TournamentDecklistId INT NOT NULL,
|
||||
GamepieceId INT NOT NULL,
|
||||
PRIMARY KEY (TournamentDecklistId, GamepieceId),
|
||||
|
||||
FOREIGN KEY TournamentDecklistId REFERENCES TournamentDecklist(Id),
|
||||
FOREIGN KEY GamepieceId REFERENCES Gamepiece(Id),
|
||||
|
||||
CardPrintingId INT NULL,
|
||||
FOREIGN KEY CardPrintingId REFERENCES CardPrinting(Id),
|
||||
|
||||
Quantity INT NOT NULL
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue