Просмотр исходного кода

Merge branch '110Percent/master'

Zed 4 лет назад
Родитель
Сommit
3710a4ddec
5 измененных файлов с 8 добавлено и 7 удалено
  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,
     replyId: js{"in_reply_to_status_id_str"}.getId,
     text: js{"full_text"}.getStr,
     text: js{"full_text"}.getStr,
     time: js{"created_at"}.getTime,
     time: js{"created_at"}.getTime,
+    source: getSource(js),
     hasThread: js{"self_thread"}.notNull,
     hasThread: js{"self_thread"}.notNull,
     available: true,
     available: true,
     user: User(id: js{"user_id_str"}.getStr),
     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 = js{"tombstoneInfo", "richText", "text"}.getStr
   result.removeSuffix(" Learn more")
   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] =
 proc extractSlice(js: JsonNode): Slice[int] =
   result = js["indices"][0].getInt ..< js["indices"][1].getInt
   result = js["indices"][0].getInt ..< js["indices"][1].getInt
 
 

+ 1 - 0
src/types.nim

@@ -174,6 +174,7 @@ type
     available*: bool
     available*: bool
     tombstone*: string
     tombstone*: string
     location*: string
     location*: string
+    source*: string
     stats*: TweetStats
     stats*: TweetStats
     retweet*: Option[Tweet]
     retweet*: Option[Tweet]
     attribution*: Option[User]
     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)
         renderQuote(tweet.quote.get(), prefs, path)
 
 
       if mainTweet:
       if mainTweet:
-        p(class="tweet-published"): text getTime(tweet)
+        p(class="tweet-published"): text &"{getTime(tweet)} · {tweet.source}"
 
 
       if tweet.mediaTags.len > 0:
       if tweet.mediaTags.len > 0:
         renderMediaTags(tweet.mediaTags)
         renderMediaTags(tweet.mediaTags)

+ 1 - 6
tests/test_card.py

@@ -11,7 +11,7 @@ card = [
     ['nim_lang/status/1136652293510717440',
     ['nim_lang/status/1136652293510717440',
      'Version 0.20.0 released',
      '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!',
      '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',
     ['voidtarget/status/1094632512926605312',
      'Basic OBS Studio plugin, written in nim, supporting C++ (C fine too)',
      'Basic OBS Studio plugin, written in nim, supporting C++ (C fine too)',
@@ -25,11 +25,6 @@ card = [
 ]
 ]
 
 
 no_thumb = [
 no_thumb = [
-    ['Bountysource/status/1141879700639215617',
-     'Post a bounty on kivy/plyer!',
-     'Automation and Screen Reader Support',
-     'bountysource.com'],
-
     ['brent_p/status/1088857328680488961',
     ['brent_p/status/1088857328680488961',
      'Hts Nim Sugar',
      '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...',
      '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...',