File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -76,14 +76,15 @@ data ImportTask = ImportTask
7676-- | Values a suffixed with a prime (') to avoid name collisions
7777instance FromJSON ImportTask where
7878 parseJSON = withObject " task" $ \ o -> do
79- utc <- o .:? " utc"
79+ utc <- o .:? " utc" <|> (o .:? " utc " :: Parser ( Maybe Int ))
8080 entry <- o .:? " entry"
8181 creation <- o .:? " creation"
8282 created_at <- o .:? " created_at"
83+
8384 let
8485 zeroTime = timeFromElapsedP 0 :: DateTime
8586 parsedCreatedUtc = parseUtc
86- =<< (utc <|> entry <|> creation <|> created_at)
87+ =<< (( fmap show utc) <|> entry <|> creation <|> created_at)
8788 createdUtc = fromMaybe zeroTime parsedCreatedUtc
8889
8990 o_body <- o .:? " body"
Original file line number Diff line number Diff line change @@ -32,11 +32,22 @@ x <++> y =
3232 flip (<$>)
3333
3434
35+ parseUtcNum :: Int -> Maybe DateTime
36+ parseUtcNum number =
37+ parseUtc (show number)
38+
39+
3540parseUtc :: Text -> Maybe DateTime
3641parseUtc utcText =
3742 let
3843 utcString = unpack $ T. toLower utcText
3944
45+ -- TOOD: Remove after https://github.com/vincenthz/hs-hourglass/issues/50
46+ addSpaceAfter10 = T. intercalate " " . T. chunksOf 10
47+ addSpaceAfter13 = T. intercalate " " . T. chunksOf 13
48+ unixMicro = " EPOCH ms us" :: [Char ]
49+ unixMilli = " EPOCH ms" :: [Char ]
50+
4051 tParse :: [Char ] -> Maybe DateTime
4152 tParse formatString =
4253 timeParse (toFormat formatString) utcString
@@ -48,6 +59,11 @@ parseUtc utcText =
4859 <|> (tParse " YYYY-MM-DD H:MI:S" )
4960 <|> (tParse " YYYY-MM-DD H:MI" )
5061 <|> (tParse " YYYY-MM-DD" )
62+ <|> timeParse
63+ (toFormat unixMicro)
64+ (unpack $ (addSpaceAfter10 . addSpaceAfter13) utcText)
65+ <|> timeParse (toFormat unixMilli) (unpack $ addSpaceAfter10 utcText)
66+ <|> (tParse " EPOCH" )
5167
5268
5369parseUlidUtcSection :: Text -> Maybe DateTime
You can’t perform that action at this time.
0 commit comments