Parcourir la source

Merge branch '110Percent/master'

Zed il y a 4 ans
Parent
commit
3710a4ddec
5 fichiers modifiés avec 8 ajouts et 7 suppressions
  1. 1 0
      src/parser.nim
  2. 4 0
      src/parserutils.nim
  3. 1 0
      src/types.nim
  4. 1 1
      src/views/tweet.nim
  5. 1 6
      tests/test_card.py

+ 1 - 0
src/parser.nim

@@ -189,6 +189,7 @@ proc parseTweet(js: JsonNode): Tweet =
     replyId: js{"in_reply_to_status_id_str"}.getId,
     text: js{"full_text"}.getStr,
     time: js{"created_at"}.getTime,
+    source: getSource(js),
     hasThread: js{"self_thread"}.notNull,
     available: true,
     user: User(id: js{"user_id_str"}.getStr),

+ 4 - 0
src/parserutils.nim

@@ -133,6 +133,10 @@ proc getTombstone*(js: JsonNode): string =
   result = js{"tombstoneInfo", "richText", "text"}.getStr
   result.removeSuffix(" Learn more")
 
+proc getSource*(js: JsonNode): string =
+  let src = js{"source"}.getStr
+  result = src.substr(src.find('>') + 1, src.rfind('<') - 1)
+
 proc extractSlice(js: JsonNode): Slice[int] =
   result = js["indices"][0].getInt ..< js["indices"][1].getInt
 

+ 1 - 0
src/types.nim

@@ -174,6 +174,7 @@ type
     available*: bool
     tombstone*: string
     location*: string
+    source*: string
     stats*: TweetStats
     retweet*: Option[Tweet]
     attribution*: Option[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)

+ 1 - 6
tests/test_card.py

@@ -11,7 +11,7 @@ card = [
     ['nim_lang/status/1136652293510717440',
      'Version 0.20.0 released',
      'We are very proud to announce Nim version 0.20. This is a massive release, both literally and figuratively. It contains more than 1,000 commits and it marks our release candidate for version 1.0!',
-     'nim-lang.org', True],
+     'nim-lang.org', False],
 
     ['voidtarget/status/1094632512926605312',
      'Basic OBS Studio plugin, written in nim, supporting C++ (C fine too)',
@@ -25,11 +25,6 @@ card = [
 ]
 
 no_thumb = [
-    ['Bountysource/status/1141879700639215617',
-     'Post a bounty on kivy/plyer!',
-     'Automation and Screen Reader Support',
-     'bountysource.com'],
-
     ['brent_p/status/1088857328680488961',
      'Hts Nim Sugar',
      'hts-nim is a library that allows one to use htslib via the nim programming language. Nim is a garbage-collected language that compiles to C and often has similar performance. I have become very...',