Use dateutil.paraser isoparse

Use dateutil.paraser isoparse to handle all the types of rfc3339 time that gotify might and will serve
This commit is contained in:
CeruleanSky
2022-06-04 08:50:01 -04:00
committed by GitHub
parent 7d2c98ccdc
commit 0d761259cd

View File

@@ -1,4 +1,5 @@
import datetime import datetime
from dateutil.parser import isoparse
import logging import logging
from typing import List, Optional from typing import List, Optional
@@ -47,15 +48,8 @@ class GotifyMessageModel(AttributeDict):
title: Optional[str] = None title: Optional[str] = None
def __init__(self, d: dict, *args, **kwargs): def __init__(self, d: dict, *args, **kwargs):
s = (
d["date"].split(".")[0] # date
+ "."
+ d["date"].split(".")[1][:6] # ms
+ "+"
+ d["date"].split("+")[-1] # timezone
)
d.update( d.update(
{"date": datetime.datetime.fromisoformat(s).astimezone(local_timezone)} {"date": isoparse(d["date"]).astimezone(local_timezone)}
) )
super(GotifyMessageModel, self).__init__(d, *args, **kwargs) super(GotifyMessageModel, self).__init__(d, *args, **kwargs)