summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go20
1 files changed, 6 insertions, 14 deletions
diff --git a/main.go b/main.go
index 9985c1e..e4425a5 100644
--- a/main.go
+++ b/main.go
@@ -12,16 +12,16 @@ import (
"strings"
"time"
+ "github.com/PuerkitoBio/goquery"
_ "github.com/ncruces/go-sqlite3/driver"
_ "github.com/ncruces/go-sqlite3/embed"
- "github.com/PuerkitoBio/goquery"
)
const (
artistFetchDelay = 250 * time.Millisecond
pageFetchDelay = 500 * time.Millisecond
maxPages = 1000
- itemsPerPage = 1000
+ itemsPerPage = 10
)
// RSS structures
@@ -171,19 +171,11 @@ func fetchRSSPage(year, page int) (*RSS, error) {
return &rss, nil
}
-func getArtistNameFromTitle(title string) (string, error) {
- titleAuthor, err := parseTitle(title)
- if err != nil {
- return "", err
- }
- return titleAuthor.Author, nil
-}
-
func resolveArtistName(item Item, cache map[string]string) (string, error) {
username, err := extractUsername(item.Link)
if err != nil {
log.Printf("Failed to extract username from '%s': %v", item.Link, err)
- return getArtistNameFromTitle(item.Title)
+ return item.Author, nil
}
// Try cache first
@@ -195,7 +187,7 @@ func resolveArtistName(item Item, cache map[string]string) (string, error) {
artistName, err := fetchArtistName(item.Link)
if err != nil {
log.Printf("Failed to fetch artist for '%s': %v, using RSS fallback", username, err)
- return getArtistNameFromTitle(item.Title)
+ return item.Author, nil
}
cache[username] = artistName
@@ -214,7 +206,7 @@ func insertItems(insertStmt *sql.Stmt, items []Item, cache map[string]string) in
continue
}
- titleAuthor, err := parseTitle(item.Title)
+ title, err := parseTitle(item.Title)
if err != nil {
log.Printf("Failed to parse title for item '%s': %v", item.Title, err)
continue
@@ -226,7 +218,7 @@ func insertItems(insertStmt *sql.Stmt, items []Item, cache map[string]string) in
continue
}
- _, err = insertStmt.Exec(titleAuthor.Title, item.Link, artistName, yearWeek.Week, yearWeek.Year, item.Enclosure.URL)
+ _, err = insertStmt.Exec(title, item.Link, artistName, yearWeek.Week, yearWeek.Year, item.Enclosure.URL)
if err != nil {
log.Printf("Failed to insert item '%s': %v", item.Title, err)
continue