moved go files to src

This commit is contained in:
2025-02-23 19:28:38 -06:00
parent 6445f3a495
commit 2c873779ff
18 changed files with 6 additions and 6 deletions
+95
View File
@@ -0,0 +1,95 @@
package main
import (
"context"
"fmt"
"mmaschedule-go/event"
"time"
)
type Scraper func(ClientScraper) (*[]*event.Event, error)
func ScrapeEvents(q *event.Queries, client ClientScraper) {
events := []*event.Event{}
scrapers := []Scraper{
ScrapeONE,
ScrapeUFC,
}
for _, scraper := range scrapers {
e, err := scraper(client)
if err != nil {
fmt.Println("Error scraping events:", err)
} else {
events = append(events, *e...)
}
}
UpdateTapology(q, client, &events)
if len(events) > 0 {
err := q.UpsertEvents(context.Background(), events)
if err != nil {
fmt.Println("Error updating events in database:", err)
}
}
}
func UpdateAllTapology(q *event.Queries, client ClientScraper) error {
events_, err := q.ListEvents(context.Background())
if err != nil {
return err
}
events := []*event.Event{}
for _, e := range events_ {
events = append(events, &e)
}
UpdateTapology(q, client, &events)
err = q.UpsertEvents(context.Background(), events)
if err != nil {
return err
}
return nil
}
func UpdateTapology(q *event.Queries, client ClientScraper, events *[]*event.Event) {
err := SetTapologyCSRF(client)
if err != nil {
fmt.Println("Error settings tapology CSRF:", err)
}
for _, e := range *events {
fights := e.UnmarshalFights()
for _, f := range fights {
fighters := []*event.Fighter{
f.FighterA,
f.FighterB,
}
for _, ff := range fighters {
fmt.Println("Getting tapology link for", ff.Name)
tapology, err := q.GetTapology(context.Background(), ff.Name)
if err != nil {
fmt.Println("Error getting tapology from database:", err)
link, err := GetTapologyLink(client, ff.Name)
if err != nil {
fmt.Println("Error getting tapology from site:", err)
} else if len(link) > 0 {
err := q.CreateTapology(context.Background(), event.CreateTapologyParams{Name: ff.Name, Url: link})
if err != nil {
fmt.Println("Error creating tapology in database:", err)
}
ff.Link = link
}
time.Sleep(time.Duration(5_000_000_000))
} else {
ff.Link = tapology.Url
}
}
}
e.MarshalFights(fights)
}
}