Skip to content

Commit 4e38317

Browse files
committed
Fix verified type enum parsing error
Fixes #1387
1 parent 8114eef commit 4e38317

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/parser.nim

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ import experimental/parser/unifiedcard
66

77
proc parseGraphTweet(js: JsonNode): Tweet
88

9+
proc parseVerifiedType(s: string; current: VerifiedType): VerifiedType =
10+
try: parseEnum[VerifiedType](s)
11+
except ValueError: current
12+
913
proc 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

7175
proc 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

Comments
 (0)