mirror of
https://github.com/navidrome/navidrome.git
synced 2026-10-31 23:47:47 +01:00
feat(lyrics): detect Lyricsfile YAML in content-sniffing
This commit is contained in:
parent
c4104499a9
commit
7559e20d41
2 changed files with 16 additions and 0 deletions
|
|
@ -31,6 +31,10 @@ func ParseEmbedded(language, text string) (LyricList, error) {
|
|||
log.Warn("Error parsing embedded SRT lyrics, falling back to plain lyrics", "error", err)
|
||||
}
|
||||
|
||||
if lyricsList, err := ParseLyricsfile(text); err == nil && len(lyricsList) > 0 {
|
||||
return lyricsList, nil
|
||||
}
|
||||
|
||||
lyric, err := ToLyrics(language, text)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
|
|
@ -157,4 +157,16 @@ Another subtitle line`
|
|||
}
|
||||
Expect(strings.Join(values, "\n")).To(ContainSubstring("Broken"))
|
||||
})
|
||||
|
||||
It("detects a Lyricsfile YAML payload via content-sniffing", func() {
|
||||
yaml := "version: \"1.0\"\nmetadata:\n title: Song\n language: eng\nlines:\n - text: sniffed yaml line\n start_ms: 1000\n"
|
||||
|
||||
list, err := ParseEmbedded("eng", yaml)
|
||||
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Expect(list).To(HaveLen(1))
|
||||
Expect(list[0].Synced).To(BeTrue())
|
||||
Expect(list[0].Line).To(HaveLen(1))
|
||||
Expect(list[0].Line[0].Value).To(Equal("sniffed yaml line"))
|
||||
})
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue