Fix for empty cards

This commit is contained in:
cmj
2026-05-11 04:48:04 -07:00
parent 74f5ff8acc
commit 5f6aef3a02
+6 -2
View File
@@ -438,7 +438,7 @@ proc parseTweet(js: JsonNode; jsCard: JsonNode = newJNull();
result.retweet = some parseGraphTweet(rt) result.retweet = some parseGraphTweet(rt)
return return
if jsCard.kind != JNull: if jsCard.kind != JNull and jsCard{"rest_id"}.getStr.allCharsInSet({'0'..'9'}):
let name = jsCard{"name"}.getStr let name = jsCard{"name"}.getStr
if "poll" in name: if "poll" in name:
if "image" in name: if "image" in name:
@@ -498,7 +498,11 @@ proc parseGraphTweet(js: JsonNode): Tweet =
if bindingArray.kind == JArray: if bindingArray.kind == JArray:
var bindingObj: seq[(string, JsonNode)] var bindingObj: seq[(string, JsonNode)]
for item in bindingArray: for item in bindingArray:
if item{"key"}.getStr == "_omit_link_":
jsCard = newJNull()
break
bindingObj.add((item{"key"}.getStr, item{"value"})) bindingObj.add((item{"key"}.getStr, item{"value"}))
if jsCard.kind != JNull:
# Create a new card object with flattened structure # Create a new card object with flattened structure
jsCard = %*{ jsCard = %*{
"name": legacyCard{"name"}, "name": legacyCard{"name"},
@@ -526,7 +530,7 @@ proc parseGraphTweet(js: JsonNode): Tweet =
) )
) )
if jsCard.kind != JNull: if jsCard.kind != JNull and jsCard{"rest_id"}.getStr.allCharsInSet({'0'..'9'}):
let name = jsCard{"name"}.getStr let name = jsCard{"name"}.getStr
if "poll" in name: if "poll" in name:
if "image" in name: if "image" in name: