File tree Expand file tree Collapse file tree 5 files changed +11
-7
lines changed Expand file tree Collapse file tree 5 files changed +11
-7
lines changed Original file line number Diff line number Diff line change 5
5
from datetime import datetime
6
6
import logging
7
7
8
- import dateparser
8
+ import dateutil
9
9
import xmltodict
10
10
11
11
from georss_client .consts import (
@@ -73,7 +73,7 @@ def postprocessor(
73
73
"""Conduct type conversion for selected keys."""
74
74
try :
75
75
if key in KEYS_DATE and value :
76
- return key , dateparser .parse (value )
76
+ return key , dateutil . parser .parse (value )
77
77
if key in KEYS_FLOAT and value :
78
78
return key , float (value )
79
79
if key in KEYS_FLOAT_LIST and value :
Original file line number Diff line number Diff line change @@ -43,7 +43,10 @@ def category(self) -> list | None:
43
43
@property
44
44
def published_date (self ) -> datetime .datetime | None :
45
45
"""Return the published date of this feed or feed item."""
46
- return self ._attribute ([XML_TAG_PUB_DATE , XML_TAG_PUBLISHED , XML_TAG_DC_DATE ])
46
+ parsed_date = self ._attribute (
47
+ [XML_TAG_PUB_DATE , XML_TAG_PUBLISHED , XML_TAG_DC_DATE ]
48
+ )
49
+ return parsed_date if isinstance (parsed_date , datetime .datetime ) else None
47
50
48
51
@property
49
52
def pub_date (self ) -> datetime .datetime | None :
@@ -53,7 +56,8 @@ def pub_date(self) -> datetime.datetime | None:
53
56
@property
54
57
def updated_date (self ) -> datetime .datetime | None :
55
58
"""Return the updated date of this feed or feed item."""
56
- return self ._attribute ([XML_TAG_LAST_BUILD_DATE , XML_TAG_UPDATED ])
59
+ parsed_date = self ._attribute ([XML_TAG_LAST_BUILD_DATE , XML_TAG_UPDATED ])
60
+ return parsed_date if isinstance (parsed_date , datetime .datetime ) else None
57
61
58
62
@property
59
63
def last_build_date (self ) -> datetime .datetime | None :
Original file line number Diff line number Diff line change @@ -29,7 +29,7 @@ dependencies = [
29
29
" haversine>=2.8.1" ,
30
30
" xmltodict>=0.13.0" ,
31
31
" requests>=2.31.0" ,
32
- " dateparser>=1.2 .0" ,
32
+ " python-dateutil>=2.9 .0" ,
33
33
]
34
34
35
35
[project .optional-dependencies ]
Original file line number Diff line number Diff line change 97
97
<item >
98
98
<title >Title 6</title >
99
99
<content type =" text" >Description 6</content >
100
- <published >Sun, 7 Oct 2018 19:52:00 PDT </published >
100
+ <published >Sun, 7 Oct 2018 19:52:00 -0200 </published >
101
101
<georss : where >
102
102
<gml : Polygon >
103
103
<gml : exterior >
Original file line number Diff line number Diff line change @@ -181,7 +181,7 @@ def test_complex_1():
181
181
7 ,
182
182
19 ,
183
183
52 ,
184
- tzinfo = datetime .timezone (datetime .timedelta (hours = - 7 ), "PDT" ),
184
+ tzinfo = datetime .timezone (datetime .timedelta (hours = - 2 ) ),
185
185
)
186
186
assert isinstance (feed_entry .geometry , Polygon )
187
187
assert feed_entry .geometry .centroid .latitude == - 30.32
You can’t perform that action at this time.
0 commit comments