Fix vCard 4 REV timestamp parsing
This commit is contained in:
@@ -184,10 +184,10 @@ const supportedParams: Table[string, HashSet[VC4_PropertyName]] = [
|
|||||||
].toTable
|
].toTable
|
||||||
|
|
||||||
const TIMESTAMP_FORMATS = [
|
const TIMESTAMP_FORMATS = [
|
||||||
"yyyyMMdd'T'hhmmssZZZ",
|
"yyyyMMdd'T'HHmmssZZZ",
|
||||||
"yyyyMMdd'T'hhmmssZZ",
|
"yyyyMMdd'T'HHmmssZZ",
|
||||||
"yyyyMMdd'T'hhmmssZ",
|
"yyyyMMdd'T'HHmmssZ",
|
||||||
"yyyyMMdd'T'hhmmss"
|
"yyyyMMdd'T'HHmmss"
|
||||||
]
|
]
|
||||||
|
|
||||||
const TEXT_CHARS = WSP + NON_ASCII + { '\x21'..'\x2B', '\x2D'..'\x7E' }
|
const TEXT_CHARS = WSP + NON_ASCII + { '\x21'..'\x2B', '\x2D'..'\x7E' }
|
||||||
@@ -472,7 +472,7 @@ proc parseDateAndOrTime[T](
|
|||||||
|
|
||||||
proc parseTimestamp(value: string): DateTime =
|
proc parseTimestamp(value: string): DateTime =
|
||||||
for fmt in TIMESTAMP_FORMATS:
|
for fmt in TIMESTAMP_FORMATS:
|
||||||
try: return value.parse(fmt)
|
try: return value.parse(fmt, utc())
|
||||||
except: discard
|
except: discard
|
||||||
raise newException(VCardParsingError, "unable to parse timestamp value: " & value)
|
raise newException(VCardParsingError, "unable to parse timestamp value: " & value)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user