summaryrefslogtreecommitdiff
path: root/src/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.go')
-rw-r--r--src/main.go31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/main.go b/src/main.go
index cf1c74b..2436976 100644
--- a/src/main.go
+++ b/src/main.go
@@ -3,7 +3,6 @@ package main
import (
"flag"
"fmt"
- "log"
"regexp"
_ "github.com/go-sql-driver/mysql"
@@ -56,7 +55,7 @@ func (a *App) populateImdbTable() error {
}
if !imdbIDRe.MatchString(param) {
- log.Printf("populateImdbTable: invalid param %q, skipping", param)
+ logWarn("populateImdbTable: invalid param %q, skipping", param)
continue
}
@@ -82,7 +81,7 @@ func (a *App) populateImdbTable() error {
return fmt.Errorf("commit: %w", err)
}
- log.Printf("populateImdbTable: inserted %d, skipped %d (already existed)", inserted, skipped)
+ logInfo("populateImdbTable: inserted %d, skipped %d (already existed)", inserted, skipped)
return nil
}
@@ -105,7 +104,7 @@ func (a *App) getExistingImdbIDs() (map[string]bool, error) {
return nil, fmt.Errorf("rows iteration: %w", err)
}
- log.Printf("getExistingImdbIDs: %d existing records", len(existing))
+ logInfo("getExistingImdbIDs: %d existing records", len(existing))
return existing, nil
}
@@ -139,7 +138,7 @@ func (a *App) extractImdbIDs() error {
match := imdbTitleRe.FindStringSubmatch(link.URL)
if len(match) < 2 {
- log.Printf("no IMDb ID found in URL: %s", link.URL)
+ logWarn("no IMDb ID found in URL: %s", link.URL)
continue
}
@@ -160,52 +159,54 @@ func (a *App) extractImdbIDs() error {
return fmt.Errorf("commit: %w", err)
}
- log.Printf("extractImdbIDs: scanned %d rows, updated %d", count, updated)
+ logInfo("extractImdbIDs: scanned %d rows, updated %d", count, updated)
return nil
}
func main() {
wikiOnly := flag.Bool("wiki-only", false, "only fetch wiki article data, skip SPARQL")
+ logLevelFlag := flag.String("log-level", "info", "logging level: debug, info, silent")
flag.Parse()
+ setLogLevel(*logLevelFlag)
cfg, err := LoadConfig("config.json")
if err != nil {
- log.Fatalf("failed to load config: %v", err)
+ logFatalErr("failed to load config", err)
}
app := App{Config: cfg}
- log.Printf(`Connecting to "%s" database "%s" as user "%s" on host "%s:%s" with extra options "%s".`, cfg.DBDriver, cfg.DBDBName, cfg.DBUser, cfg.DBHost, cfg.DBPort, cfg.DBOptions)
+ logInfo(`Connecting to "%s" database "%s" as user "%s" on host "%s:%s" with extra options "%s".`, cfg.DBDriver, cfg.DBDBName, cfg.DBUser, cfg.DBHost, cfg.DBPort, cfg.DBOptions)
app.DB, err = sqlx.Connect(cfg.DBDriver, cfg.DBUser+":"+cfg.DBPassword+"@tcp("+cfg.DBHost+":"+cfg.DBPort+")/"+cfg.DBDBName+"?"+cfg.DBOptions)
if err != nil {
- log.Fatal(err, "Cannot connect to database")
+ logFatalTwoArgs(err, "Cannot connect to database")
}
if err = app.DB.Ping(); err != nil {
- log.Fatal(err, "No connection to database")
+ logFatalTwoArgs(err, "No connection to database")
}
defer app.DB.Close()
if !*wikiOnly {
if err = app.extractImdbIDs(); err != nil {
- log.Fatalf("extractImdbIDs: %v", err)
+ logFatalErr("extractImdbIDs", err)
}
if err = app.populateImdbTable(); err != nil {
- log.Fatalf("populateImdbTable: %v", err)
+ logFatalErr("populateImdbTable", err)
}
if err = app.fetchAndUpdateImdbData(); err != nil {
- log.Fatalf("fetchAndUpdateImdbData: %v", err)
+ logFatalErr("fetchAndUpdateImdbData", err)
}
if err = app.fetchWikiArticles(); err != nil {
- log.Fatalf("fetchWikiArticles: %v", err)
+ logFatalErr("fetchWikiArticles", err)
}
} else {
if err = app.fetchWikiArticlesData(); err != nil {
- log.Fatalf("fetchWikiArticlesData: %v", err)
+ logFatalErr("fetchWikiArticlesData", err)
}
}
}