Generate tweet links
This commit is contained in:
parent
04dbd07959
commit
9b07199901
|
@ -2,7 +2,7 @@ import httpclient, asyncdispatch, htmlparser, times
|
|||
import sequtils, strutils, strformat, json, xmltree, uri
|
||||
import regex
|
||||
|
||||
import ./types, ./parser, ./parserutils
|
||||
import ./types, ./parser, ./parserutils, ./formatters
|
||||
|
||||
const
|
||||
agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
|
||||
|
@ -90,7 +90,7 @@ proc getVideo*(tweet: Tweet; token: string) {.async.} =
|
|||
|
||||
let headers = newHttpHeaders({
|
||||
"Accept": "application/json, text/javascript, */*; q=0.01",
|
||||
"Referer": $(base / tweet.link),
|
||||
"Referer": $(base / getLink(tweet)),
|
||||
"User-Agent": agent,
|
||||
"Authorization": auth,
|
||||
"x-guest-token": token
|
||||
|
@ -138,7 +138,7 @@ proc getPoll*(tweet: Tweet) {.async.} =
|
|||
|
||||
let headers = newHttpHeaders({
|
||||
"Accept": cardAccept,
|
||||
"Referer": $(base / tweet.link),
|
||||
"Referer": $(base / getLink(tweet)),
|
||||
"User-Agent": agent,
|
||||
"Authority": "twitter.com",
|
||||
"Accept-Language": lang,
|
||||
|
|
|
@ -94,3 +94,6 @@ proc pageTitle*(page: string): string =
|
|||
|
||||
proc getTime*(tweet: Tweet): string =
|
||||
tweet.time.format("d/M/yyyy', ' HH:mm:ss")
|
||||
|
||||
proc getLink*(tweet: Tweet | Quote): string =
|
||||
&"{tweet.profile.username}/status/{tweet.id}"
|
||||
|
|
|
@ -42,7 +42,6 @@ proc parseTweetProfile*(profile: XmlNode): Profile =
|
|||
proc parseQuote*(quote: XmlNode): Quote =
|
||||
result = Quote(
|
||||
id: quote.attr("data-item-id"),
|
||||
link: quote.attr("href"),
|
||||
text: getQuoteText(quote)
|
||||
)
|
||||
|
||||
|
@ -60,7 +59,6 @@ proc parseTweet*(node: XmlNode): Tweet =
|
|||
|
||||
result = Tweet(
|
||||
id: tweet.attr("data-item-id"),
|
||||
link: tweet.attr("data-permalink-path"),
|
||||
text: getTweetText(tweet),
|
||||
time: getTimestamp(tweet),
|
||||
shortTime: getShortTime(tweet),
|
||||
|
|
|
@ -57,7 +57,6 @@ type
|
|||
Quote* = object
|
||||
id*: string
|
||||
profile*: Profile
|
||||
link*: string
|
||||
text*: string
|
||||
sensitive*: bool
|
||||
thumb*: Option[string]
|
||||
|
@ -66,7 +65,6 @@ type
|
|||
Tweet* = ref object
|
||||
id*: string
|
||||
profile*: Profile
|
||||
link*: string
|
||||
text*: string
|
||||
time*: Time
|
||||
shortTime*: string
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
${linkUser(tweet.profile, class="username")}
|
||||
</div>
|
||||
<span class="heading-right">
|
||||
<a href="${tweet.link}" title="${tweet.getTime()}">${tweet.shortTime}</a>
|
||||
<a href="${getLink(tweet)}" title="${tweet.getTime()}">${tweet.shortTime}</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -33,7 +33,7 @@
|
|||
#let hasMedia = quote.thumb.isSome() or quote.sensitive
|
||||
<div class="quote">
|
||||
<div class="quote-container">
|
||||
<a class="quote-link" href="${quote.link}"></a>
|
||||
<a class="quote-link" href="${getLink(quote)}"></a>
|
||||
#if hasMedia:
|
||||
<div class="quote-media-container">
|
||||
<div class="quote-media">
|
||||
|
|
Loading…
Reference in New Issue