Support promo_video_website cards
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import xmltree, htmlparser, strtabs, strformat, times
|
||||
import xmltree, htmlparser, strtabs, strformat, strutils, times
|
||||
import regex
|
||||
|
||||
import types, formatters, api
|
||||
@@ -169,13 +169,16 @@ proc getQuoteMedia*(quote: var Quote; node: XmlNode) =
|
||||
|
||||
proc getTweetCard*(tweet: Tweet; node: XmlNode) =
|
||||
if node.attr("data-has-cards") == "false": return
|
||||
let cardType = node.attr("data-card2-type")
|
||||
var cardType = node.attr("data-card2-type")
|
||||
|
||||
if ":" in cardType:
|
||||
cardType = cardType.split(":")[^1]
|
||||
|
||||
if "poll" in cardType:
|
||||
tweet.poll = some(Poll())
|
||||
return
|
||||
|
||||
let cardDiv = node.select(".card2 > div")
|
||||
let cardDiv = node.select(".card2 > .js-macaw-cards-iframe-container")
|
||||
if cardDiv == nil: return
|
||||
|
||||
var card = Card(
|
||||
@@ -183,6 +186,11 @@ proc getTweetCard*(tweet: Tweet; node: XmlNode) =
|
||||
query: cardDiv.attr("data-src")
|
||||
)
|
||||
|
||||
try:
|
||||
card.kind = parseEnum[CardKind](cardType)
|
||||
except ValueError:
|
||||
card.kind = summary
|
||||
|
||||
let cardUrl = cardDiv.attr("data-card-url")
|
||||
for n in node.selectAll(".tweet-text a"):
|
||||
if n.attr("href") == cardUrl:
|
||||
|
||||
Reference in New Issue
Block a user