fix: lrc trans panic
This commit is contained in:
parent
1d524651ce
commit
d6a32c013e
37
main.go
37
main.go
@ -1437,16 +1437,19 @@ 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
|
||||||
Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata")
|
if len(parsedTTML.FindElement("tt").FindElements("head")) > 0 {
|
||||||
if len(Metadata.FindElements("iTunesMetadata")) > 0 {
|
if len(parsedTTML.FindElement("tt").FindElement("head").FindElements("metadata")) > 0 {
|
||||||
iTunesMetadata := Metadata.FindElement("iTunesMetadata")
|
Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata")
|
||||||
if len(iTunesMetadata.FindElements("translations")) > 0 {
|
if len(Metadata.FindElements("iTunesMetadata")) > 0 {
|
||||||
if len(iTunesMetadata.FindElement("translations").FindElements("translation")) > 0 {
|
iTunesMetadata := Metadata.FindElement("iTunesMetadata")
|
||||||
divs = iTunesMetadata.FindElement("translations").FindElements("translation")
|
if len(iTunesMetadata.FindElements("translations")) > 0 {
|
||||||
|
if len(iTunesMetadata.FindElement("translations").FindElements("translation")) > 0 {
|
||||||
|
divs = iTunesMetadata.FindElement("translations").FindElements("translation")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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,14 +1552,18 @@ func conventTTMLToLRC(ttml string) (string, error) {
|
|||||||
}
|
}
|
||||||
var text string
|
var text string
|
||||||
//GET trans
|
//GET trans
|
||||||
Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata")
|
if len(parsedTTML.FindElement("tt").FindElements("head")) > 0 {
|
||||||
if len(Metadata.FindElements("iTunesMetadata")) > 0 {
|
if len(parsedTTML.FindElement("tt").FindElement("head").FindElements("metadata")) > 0 {
|
||||||
iTunesMetadata := Metadata.FindElement("iTunesMetadata")
|
Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata")
|
||||||
if len(iTunesMetadata.FindElements("translations")) > 0 {
|
if len(Metadata.FindElements("iTunesMetadata")) > 0 {
|
||||||
if len(iTunesMetadata.FindElement("translations").FindElements("translation")) > 0 {
|
iTunesMetadata := Metadata.FindElement("iTunesMetadata")
|
||||||
xpath := fmt.Sprintf("//text[@for='%s']", lyric.SelectAttr("itunes:key").Value)
|
if len(iTunesMetadata.FindElements("translations")) > 0 {
|
||||||
trans := iTunesMetadata.FindElement("translations").FindElement("translation").FindElement(xpath)
|
if len(iTunesMetadata.FindElement("translations").FindElements("translation")) > 0 {
|
||||||
lyric = trans
|
xpath := fmt.Sprintf("//text[@for='%s']", lyric.SelectAttr("itunes:key").Value)
|
||||||
|
trans := iTunesMetadata.FindElement("translations").FindElement("translation").FindElement(xpath)
|
||||||
|
lyric = trans
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user