fix: lrc trans panic

This commit is contained in:
itouakirai 2025-02-12 22:28:07 +08:00
parent 1d524651ce
commit d6a32c013e

View File

@ -1437,6 +1437,8 @@ func conventSyllableTTMLToLRC(ttml string) (string, error) {
} }
divs := parsedTTML.FindElement("tt").FindElement("body").FindElements("div") divs := parsedTTML.FindElement("tt").FindElement("body").FindElements("div")
//get trans //get trans
if len(parsedTTML.FindElement("tt").FindElements("head")) > 0 {
if len(parsedTTML.FindElement("tt").FindElement("head").FindElements("metadata")) > 0 {
Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata") Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata")
if len(Metadata.FindElements("iTunesMetadata")) > 0 { if len(Metadata.FindElements("iTunesMetadata")) > 0 {
iTunesMetadata := Metadata.FindElement("iTunesMetadata") iTunesMetadata := Metadata.FindElement("iTunesMetadata")
@ -1446,7 +1448,8 @@ func conventSyllableTTMLToLRC(ttml string) (string, error) {
} }
} }
} }
}
}
for _, div := range divs { for _, div := range divs {
for _, item := range div.ChildElements() { for _, item := range div.ChildElements() {
var lrcSyllables []string var lrcSyllables []string
@ -1549,6 +1552,8 @@ func conventTTMLToLRC(ttml string) (string, error) {
} }
var text string var text string
//GET trans //GET trans
if len(parsedTTML.FindElement("tt").FindElements("head")) > 0 {
if len(parsedTTML.FindElement("tt").FindElement("head").FindElements("metadata")) > 0 {
Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata") Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata")
if len(Metadata.FindElements("iTunesMetadata")) > 0 { if len(Metadata.FindElements("iTunesMetadata")) > 0 {
iTunesMetadata := Metadata.FindElement("iTunesMetadata") iTunesMetadata := Metadata.FindElement("iTunesMetadata")
@ -1560,6 +1565,8 @@ func conventTTMLToLRC(ttml string) (string, error) {
} }
} }
} }
}
}
if lyric.SelectAttr("text") == nil { if lyric.SelectAttr("text") == nil {
var textTmp []string var textTmp []string
for _, span := range lyric.Child { for _, span := range lyric.Child {