@@ -6,6 +6,10 @@ import experimental/parser/unifiedcard
66
77proc parseGraphTweet (js: JsonNode ): Tweet
88
9+ proc parseVerifiedType (s: string ; current: VerifiedType ): VerifiedType =
10+ try : parseEnum [VerifiedType ](s)
11+ except ValueError : current
12+
913proc parseCommunityNote (js: JsonNode ): string =
1014 let subtitle = js{" subtitle" }
1115 result = subtitle{" text" }.getStr
@@ -35,7 +39,7 @@ proc parseUser(js: JsonNode; id=""): User =
3539 result .verifiedType = blue
3640
3741 with verifiedType, js{" verified_type" }:
38- result .verifiedType = parseEnum [ VerifiedType ] (verifiedType.getStr)
42+ result .verifiedType = parseVerifiedType (verifiedType.getStr, result .verifiedType )
3943
4044 result .expandUserEntities (js)
4145
@@ -66,7 +70,7 @@ proc parseGraphUser(js: JsonNode): User =
6670 result .verifiedType = blue
6771
6872 with verifiedType, user{" verification" , " verified_type" }:
69- result .verifiedType = parseEnum [ VerifiedType ] (verifiedType.getStr)
73+ result .verifiedType = parseVerifiedType (verifiedType.getStr, result .verifiedType )
7074
7175proc parseAboutAccount * (js: JsonNode ): AccountInfo =
7276 if js.isNull: return
@@ -88,7 +92,7 @@ proc parseAboutAccount*(js: JsonNode): AccountInfo =
8892 if user{" is_blue_verified" }.getBool (false ):
8993 result .verifiedType = blue
9094 with verifiedType, user{" verification" , " verified_type" }:
91- result .verifiedType = parseEnum [ VerifiedType ] (verifiedType.getStr)
95+ result .verifiedType = parseVerifiedType (verifiedType.getStr, result .verifiedType )
9296
9397 with about, user{" about_profile" }:
9498 result .basedIn = about{" account_based_in" }.getStr
0 commit comments