diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 20 |
1 files changed, 6 insertions, 14 deletions
@@ -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 |
