added logging
This commit is contained in:
+14
-2
@@ -5,6 +5,8 @@ import (
|
|||||||
"embed"
|
"embed"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"log/slog"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
_ "github.com/mattn/go-sqlite3"
|
_ "github.com/mattn/go-sqlite3"
|
||||||
@@ -18,6 +20,7 @@ import (
|
|||||||
var migrations embed.FS
|
var migrations embed.FS
|
||||||
|
|
||||||
var host = flag.String("host", "127.0.0.1:8000", "Set the web server host address.")
|
var host = flag.String("host", "127.0.0.1:8000", "Set the web server host address.")
|
||||||
|
var debug = flag.Bool("debug", false, "Enable debug mode.")
|
||||||
|
|
||||||
const POSITIONAL_ARGS_HELP = `
|
const POSITIONAL_ARGS_HELP = `
|
||||||
Valid commands:
|
Valid commands:
|
||||||
@@ -33,12 +36,21 @@ func main() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
f, err := os.OpenFile("mmaschedule.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Error opening file:", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
defer f.Close()
|
||||||
|
log.SetOutput(f)
|
||||||
|
|
||||||
cmd := flag.Args()[0]
|
cmd := flag.Args()[0]
|
||||||
|
|
||||||
client := NewScraperClient()
|
client := NewScraperClient()
|
||||||
queries, err := InitDb("db.sqlite")
|
queries, err := InitDb("db.sqlite")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error initializing database:", err)
|
slog.Error("Error initializing database", "error", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,7 +59,7 @@ func main() {
|
|||||||
go ScrapeEventsLoop(queries, client, true)
|
go ScrapeEventsLoop(queries, client, true)
|
||||||
err = RunServer(*host, queries)
|
err = RunServer(*host, queries)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error starting web server:", err)
|
slog.Error("Error starting web server:", "error", err)
|
||||||
}
|
}
|
||||||
case "scrape":
|
case "scrape":
|
||||||
ScrapeEvents(queries, client, true)
|
ScrapeEvents(queries, client, true)
|
||||||
|
|||||||
+9
-9
@@ -2,7 +2,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"log/slog"
|
||||||
"mmaschedule-go/event"
|
"mmaschedule-go/event"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@@ -24,7 +24,7 @@ func ScrapeEvents(q *event.Queries, client ClientScraper, tapology bool) {
|
|||||||
for _, scraper := range scrapers {
|
for _, scraper := range scrapers {
|
||||||
e, err := scraper(client)
|
e, err := scraper(client)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error scraping events:", err)
|
slog.Error("Error scraping events", "error", err)
|
||||||
} else {
|
} else {
|
||||||
events = append(events, *e...)
|
events = append(events, *e...)
|
||||||
}
|
}
|
||||||
@@ -37,7 +37,7 @@ func ScrapeEvents(q *event.Queries, client ClientScraper, tapology bool) {
|
|||||||
if len(events) > 0 {
|
if len(events) > 0 {
|
||||||
err := q.UpsertEvents(context.Background(), events)
|
err := q.UpsertEvents(context.Background(), events)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error updating events in database:", err)
|
slog.Error("Error updating events in database:", "error", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -45,7 +45,7 @@ func ScrapeEvents(q *event.Queries, client ClientScraper, tapology bool) {
|
|||||||
func UpdateTapology(q *event.Queries, client ClientScraper, events *[]*event.Event) {
|
func UpdateTapology(q *event.Queries, client ClientScraper, events *[]*event.Event) {
|
||||||
err := SetTapologyCSRF(client)
|
err := SetTapologyCSRF(client)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error settings tapology CSRF:", err)
|
slog.Error("Error settings tapology CSRF:", "error", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, e := range *events {
|
for _, e := range *events {
|
||||||
@@ -56,21 +56,21 @@ func UpdateTapology(q *event.Queries, client ClientScraper, events *[]*event.Eve
|
|||||||
f.FighterB,
|
f.FighterB,
|
||||||
}
|
}
|
||||||
for _, ff := range fighters {
|
for _, ff := range fighters {
|
||||||
fmt.Println("Getting tapology link for", ff.Name)
|
slog.Debug("Getting tapology link", "name", ff.Name)
|
||||||
tapology, err := q.GetTapology(context.Background(), ff.Name)
|
tapology, err := q.GetTapology(context.Background(), ff.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error getting tapology from database:", err)
|
slog.Error("Error getting tapology from database", "error", err)
|
||||||
link, err := GetTapologyLink(client, ff.Name)
|
link, err := GetTapologyLink(client, ff.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error getting tapology from site:", err)
|
slog.Error("Error getting tapology from site", "error", err)
|
||||||
} else if len(link) > 0 {
|
} else if len(link) > 0 {
|
||||||
err := q.CreateTapology(context.Background(), event.CreateTapologyParams{Name: ff.Name, Url: link})
|
err := q.CreateTapology(context.Background(), event.CreateTapologyParams{Name: ff.Name, Url: link})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error creating tapology in database:", err)
|
slog.Error("Error creating tapology in database", "error", err)
|
||||||
}
|
}
|
||||||
ff.Link = link
|
ff.Link = link
|
||||||
}
|
}
|
||||||
time.Sleep(time.Duration(5) * time.Second)
|
time.Sleep(time.Duration(5) * time.Second)
|
||||||
} else {
|
} else {
|
||||||
ff.Link = tapology.Url
|
ff.Link = tapology.Url
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -3,7 +3,7 @@ package main
|
|||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log/slog"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"regexp"
|
"regexp"
|
||||||
@@ -56,7 +56,7 @@ func ScrapeONE(client ClientScraper) (*[]*event.Event, error) {
|
|||||||
err := ScrapeONEEvent(client, &e)
|
err := ScrapeONEEvent(client, &e)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
slog.Error("Error scraping ONE event", "error", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,7 +159,7 @@ func ScrapeUFC(client ClientScraper) (*[]*event.Event, error) {
|
|||||||
}
|
}
|
||||||
err := ScrapeUFCEvent(client, &e)
|
err := ScrapeUFCEvent(client, &e)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
slog.Error("Error scraping UFC event", "error", err)
|
||||||
} else if e.Fights != "null" {
|
} else if e.Fights != "null" {
|
||||||
events = append(events, &e)
|
events = append(events, &e)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user