Bladeren bron

Add source label to main tweets

110Percent 4 jaren geleden
bovenliggende
commit
b031ea762e
3 gewijzigde bestanden met toevoegingen van 5 en 1 verwijderingen
  1. 3 0
      src/parser.nim
  2. 1 0
      src/types.nim
  3. 1 1
      src/views/tweet.nim

+ 3 - 0
src/parser.nim

@@ -3,6 +3,7 @@ import strutils, options, tables, times, math
 import packedjson, packedjson/deserialiser
 import types, parserutils, utils
 import experimental/parser/unifiedcard
+import std/strutils
 
 proc parseUser(js: JsonNode; id=""): User =
   if js.isNull: return
@@ -183,12 +184,14 @@ proc parseCard(js: JsonNode; urls: JsonNode): Card =
 
 proc parseTweet(js: JsonNode): Tweet =
   if js.isNull: return
+
   result = Tweet(
     id: js{"id_str"}.getId,
     threadId: js{"conversation_id_str"}.getId,
     replyId: js{"in_reply_to_status_id_str"}.getId,
     text: js{"full_text"}.getStr,
     time: js{"created_at"}.getTime,
+    source: js{"source"}.getStr.split(">")[1].split("<")[0],
     hasThread: js{"self_thread"}.notNull,
     available: true,
     user: User(id: js{"user_id_str"}.getStr),

+ 1 - 0
src/types.nim

@@ -175,6 +175,7 @@ type
     tombstone*: string
     location*: string
     stats*: TweetStats
+    source*: string
     retweet*: Option[Tweet]
     attribution*: Option[User]
     mediaTags*: seq[User]

+ 1 - 1
src/views/tweet.nim

@@ -344,7 +344,7 @@ proc renderTweet*(tweet: Tweet; prefs: Prefs; path: string; class=""; index=0;
         renderQuote(tweet.quote.get(), prefs, path)
 
       if mainTweet:
-        p(class="tweet-published"): text getTime(tweet)
+        p(class="tweet-published"): text getTime(tweet) & " · " & tweet.source
 
       if tweet.mediaTags.len > 0:
         renderMediaTags(tweet.mediaTags)