Minor retweet refactor
This commit is contained in:
parent
9b07199901
commit
c60280415e
|
@ -73,8 +73,10 @@ proc parseTweet*(node: XmlNode): Tweet =
|
|||
|
||||
let by = tweet.selectText(".js-retweet-text > a > b")
|
||||
if by.len > 0:
|
||||
result.retweetBy = some(by.stripText())
|
||||
result.retweetId = some(tweet.attr("data-retweet-id"))
|
||||
result.retweet = some(Retweet(
|
||||
by: stripText(by),
|
||||
id: tweet.attr("data-retweet-id")
|
||||
))
|
||||
|
||||
let quote = tweet.select(".QuoteTweet-innerContainer")
|
||||
if quote != nil:
|
||||
|
|
|
@ -62,6 +62,10 @@ type
|
|||
thumb*: Option[string]
|
||||
badge*: Option[string]
|
||||
|
||||
Retweet* = object
|
||||
by*: string
|
||||
id*: string
|
||||
|
||||
Tweet* = ref object
|
||||
id*: string
|
||||
profile*: Profile
|
||||
|
@ -72,9 +76,8 @@ type
|
|||
retweets*: string
|
||||
likes*: string
|
||||
pinned*: bool
|
||||
retweet*: Option[Retweet]
|
||||
quote*: Option[Quote]
|
||||
retweetBy*: Option[string]
|
||||
retweetId*: Option[string]
|
||||
gif*: Option[Gif]
|
||||
video*: Option[Video]
|
||||
photos*: seq[string]
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
#import ../types, ../formatters, ../utils
|
||||
#
|
||||
#proc renderHeading(tweet: Tweet): string =
|
||||
#if tweet.retweetBy.isSome:
|
||||
#if tweet.retweet.isSome:
|
||||
<div class="retweet">
|
||||
<span>🔄 ${tweet.retweetBy.get()} retweeted</span>
|
||||
<span>🔄 ${get(tweet.retweet).by} retweeted</span>
|
||||
</div>
|
||||
#end if
|
||||
#if tweet.pinned:
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
#
|
||||
#for tweet in timeline.tweets:
|
||||
#if tweet.id in retweets: continue
|
||||
#elif tweet.retweetBy.isSome: retweets.add tweet.id
|
||||
#elif tweet.retweet.isSome: retweets.add tweet.id
|
||||
#end if
|
||||
${renderTweet(tweet, "timeline-tweet")}
|
||||
#end for
|
||||
|
|
Loading…
Reference in New Issue