From 4e38317582d04aa33a4a94f9350982433da0b024 Mon Sep 17 00:00:00 2001 From: Zed Date: Thu, 16 Apr 2026 02:31:52 +0200 Subject: [PATCH] Fix verified type enum parsing error Fixes #1387 --- src/parser.nim | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/parser.nim b/src/parser.nim index 0e45250..d55c546 100644 --- a/src/parser.nim +++ b/src/parser.nim @@ -6,6 +6,10 @@ import experimental/parser/unifiedcard proc parseGraphTweet(js: JsonNode): Tweet +proc parseVerifiedType(s: string; current: VerifiedType): VerifiedType = + try: parseEnum[VerifiedType](s) + except ValueError: current + proc parseCommunityNote(js: JsonNode): string = let subtitle = js{"subtitle"} result = subtitle{"text"}.getStr @@ -35,7 +39,7 @@ proc parseUser(js: JsonNode; id=""): User = result.verifiedType = blue with verifiedType, js{"verified_type"}: - result.verifiedType = parseEnum[VerifiedType](verifiedType.getStr) + result.verifiedType = parseVerifiedType(verifiedType.getStr, result.verifiedType) result.expandUserEntities(js) @@ -66,7 +70,7 @@ proc parseGraphUser(js: JsonNode): User = result.verifiedType = blue with verifiedType, user{"verification", "verified_type"}: - result.verifiedType = parseEnum[VerifiedType](verifiedType.getStr) + result.verifiedType = parseVerifiedType(verifiedType.getStr, result.verifiedType) proc parseAboutAccount*(js: JsonNode): AccountInfo = if js.isNull: return @@ -88,7 +92,7 @@ proc parseAboutAccount*(js: JsonNode): AccountInfo = if user{"is_blue_verified"}.getBool(false): result.verifiedType = blue with verifiedType, user{"verification", "verified_type"}: - result.verifiedType = parseEnum[VerifiedType](verifiedType.getStr) + result.verifiedType = parseVerifiedType(verifiedType.getStr, result.verifiedType) with about, user{"about_profile"}: result.basedIn = about{"account_based_in"}.getStr