Compare commits
5 Commits
6fd94854a6
...
b1c0733f8f
Author | SHA1 | Date | |
---|---|---|---|
b1c0733f8f | |||
a01a4febf5 | |||
1c8cd6ed32 | |||
d40dce624b | |||
6db6680a16 |
@ -1,4 +1,4 @@
|
|||||||
FROM golang:1.23.6 AS build
|
FROM golang:1.24.2 AS build
|
||||||
|
|
||||||
WORKDIR /code
|
WORKDIR /code
|
||||||
RUN go install github.com/a-h/templ/cmd/templ@latest
|
RUN go install github.com/a-h/templ/cmd/templ@latest
|
||||||
|
@ -58,6 +58,8 @@ type customPerformance struct {
|
|||||||
func (s *Song) parseLyrics(doc *goquery.Document) error {
|
func (s *Song) parseLyrics(doc *goquery.Document) error {
|
||||||
var htmlError error
|
var htmlError error
|
||||||
|
|
||||||
|
doc.Find("[class^=LyricsHeader]").Remove()
|
||||||
|
|
||||||
doc.Find("[data-lyrics-container='true']").Each(func(i int, ss *goquery.Selection) {
|
doc.Find("[data-lyrics-container='true']").Each(func(i int, ss *goquery.Selection) {
|
||||||
h, err := ss.Html()
|
h, err := ss.Html()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
2
go.mod
2
go.mod
@ -5,7 +5,7 @@ go 1.23
|
|||||||
toolchain go1.23.4
|
toolchain go1.23.4
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/PuerkitoBio/goquery v1.10.1
|
github.com/PuerkitoBio/goquery v1.10.3
|
||||||
github.com/a-h/templ v0.3.819
|
github.com/a-h/templ v0.3.819
|
||||||
github.com/allegro/bigcache/v3 v3.1.0
|
github.com/allegro/bigcache/v3 v3.1.0
|
||||||
github.com/gorilla/handlers v1.5.2
|
github.com/gorilla/handlers v1.5.2
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"os"
|
"os"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/PuerkitoBio/goquery"
|
"github.com/PuerkitoBio/goquery"
|
||||||
@ -25,6 +26,7 @@ func TestLyrics(t *testing.T) {
|
|||||||
func testLyrics(t *testing.T, url string) {
|
func testLyrics(t *testing.T, url string) {
|
||||||
title := "The Silver Seas"
|
title := "The Silver Seas"
|
||||||
artist := "Catch Yer Own Train"
|
artist := "Catch Yer Own Train"
|
||||||
|
firstLyricLine := "[Verse 1]"
|
||||||
|
|
||||||
r, err := http.NewRequest(http.MethodGet, url, nil)
|
r, err := http.NewRequest(http.MethodGet, url, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -46,6 +48,7 @@ func testLyrics(t *testing.T, url string) {
|
|||||||
|
|
||||||
docArtist := doc.Find("#metadata-info h1").Text()
|
docArtist := doc.Find("#metadata-info h1").Text()
|
||||||
docTitle := doc.Find("#metadata-info h2").Text()
|
docTitle := doc.Find("#metadata-info h2").Text()
|
||||||
|
docLyrics := doc.Find("#lyrics").Text()
|
||||||
|
|
||||||
if docTitle != title {
|
if docTitle != title {
|
||||||
t.Fatalf("expected %q, got %q\n", title, docTitle)
|
t.Fatalf("expected %q, got %q\n", title, docTitle)
|
||||||
@ -54,4 +57,8 @@ func testLyrics(t *testing.T, url string) {
|
|||||||
if docArtist != artist {
|
if docArtist != artist {
|
||||||
t.Fatalf("expected %q, got %q\n", artist, docArtist)
|
t.Fatalf("expected %q, got %q\n", artist, docArtist)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !strings.HasPrefix(docLyrics, firstLyricLine) {
|
||||||
|
t.Fatalf("expected lyrics to start with %q, got %q\n", firstLyricLine, docLyrics)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user