urlinfo:generic: use python-dateutil for date parsing

This commit is contained in:
ducklet 2020-12-16 16:14:40 +01:00
parent 22d9b33ce7
commit 14b4a350ee
2 changed files with 5 additions and 15 deletions

View file

@ -1,5 +1,6 @@
feedparser==6.* feedparser==6.*
matrix-nio[e2e] matrix-nio[e2e]
python-dateutil
pyyaml pyyaml
requests requests
youtube_dl youtube_dl

View file

@ -1,9 +1,11 @@
import json import json
import logging import logging
from dataclasses import dataclass from dataclasses import dataclass
from datetime import datetime, timezone from datetime import datetime
from typing import * from typing import *
import dateutil.parser
from ...functions import ( from ...functions import (
ElementParser, ElementParser,
capped_text, capped_text,
@ -149,20 +151,7 @@ def aslist(o: Any):
def fromisoformat(s) -> datetime: def fromisoformat(s) -> datetime:
try: return dateutil.parser.isoparse(s)
return datetime.fromisoformat(s)
except ValueError:
pass
formats = (
r"%Y-%m-%dT%H:%M:%SZ", # '2003-08-15T13:18:27Z', found at ???
r"%Y-%m-%dT%H:%M:%S.000Z", # '2020-12-03T18:42:00.000Z', found at wsj
)
for fmt in formats:
try:
return datetime.strptime(s, fmt).replace(tzinfo=timezone.utc)
except ValueError as e:
pass
raise e
def name_from_thing(p: Union[Mapping, str]) -> Optional[str]: def name_from_thing(p: Union[Mapping, str]) -> Optional[str]: