Fix card link parsing edge cases

This commit is contained in:
Zed
2019-07-15 13:40:59 +02:00
parent 829cac9cbd
commit 0da076ddcf
3 changed files with 10 additions and 13 deletions

View File

@@ -167,7 +167,7 @@ proc getQuoteMedia*(quote: var Quote; node: XmlNode) =
elif gifBadge != nil:
quote.badge = "GIF"
proc getTweetCards*(tweet: Tweet; node: XmlNode) =
proc getTweetCard*(tweet: Tweet; node: XmlNode) =
if node.attr("data-has-cards") == "false": return
let cardType = node.attr("data-card2-type")
@@ -183,10 +183,10 @@ proc getTweetCards*(tweet: Tweet; node: XmlNode) =
query: cardDiv.attr("data-src")
)
# temporary solution
let text = node.selectText(".tweet-text")
let urls = getUrls(text)
card.url = urls[0]
let cardUrl = cardDiv.attr("data-card-url")
for n in node.selectAll(".tweet-text a"):
if n.attr("href") == cardUrl:
card.url = n.attr("data-expanded-url")
tweet.card = some(card)