Skip to content

Commit ac3309a

Browse files
committed
Revert "fix: stripped time from meta date as datetime"
This reverts commit 21c61f2.
1 parent 21c61f2 commit ac3309a

2 files changed

Lines changed: 9 additions & 19 deletions

File tree

mkdocs_rss_plugin/plugin.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def __init__(self):
6161
self.src_date_created = self.src_date_updated = "git"
6262
self.meta_datetime_format: Optional[str] = None
6363
self.meta_default_timezone: str = "UTC"
64-
self.meta_default_time: Optional[datetime.time] = None
64+
self.meta_default_time: Optional[str] = None
6565
# pages storage
6666
self.pages_to_filter: list = []
6767
# prepare output feeds
@@ -160,8 +160,6 @@ def on_config(self, config: config_options.Config) -> dict:
160160
f"'{self.meta_default_time}' format doesn't match the expected "
161161
f"format %H:%M. Trace: {err}"
162162
)
163-
else:
164-
self.meta_default_time = datetime.min
165163

166164
if self.config.use_git:
167165
logger.debug(

mkdocs_rss_plugin/util.py

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ def get_file_dates(
168168
source_date_update: str = "git",
169169
meta_datetime_format: str = "%Y-%m-%d %H:%M",
170170
meta_default_timezone: str = "UTC",
171-
meta_default_time: Optional[datetime] = None,
171+
meta_default_time: datetime = None,
172172
) -> Tuple[datetime, datetime]:
173173
"""Extract creation and update dates from page metadata (yaml frontmatter) or
174174
git log for given file.
@@ -193,8 +193,6 @@ def get_file_dates(
193193
"""
194194
# empty vars
195195
dt_created = dt_updated = None
196-
if meta_default_time is None:
197-
meta_default_time = self.meta_default_time = datetime.min
198196

199197
# if enabled, try to retrieve dates from page metadata
200198
if not self.use_git or (
@@ -418,20 +416,14 @@ def get_date_from_meta(
418416
try:
419417
if isinstance(date_metatag_value, str):
420418
out_date = datetime.strptime(date_metatag_value, meta_datetime_format)
421-
# datetime being a subclass of date, the following elif order matters
422-
# see: https://stackoverflow.com/a/68743663/2556577
423-
elif isinstance(date_metatag_value, datetime):
424-
# if datetime, use it directly
425-
out_date = date_metatag_value
426-
elif isinstance(date_metatag_value, date):
427-
out_date = datetime.combine(
428-
date=date_metatag_value, time=meta_default_time.time()
429-
)
419+
elif isinstance(date_metatag_value, (date, datetime)):
420+
if isinstance(meta_default_time, datetime):
421+
time_to_add = meta_default_time.time()
422+
else:
423+
time_to_add = datetime.min.time()
424+
out_date = datetime.combine(date_metatag_value, time_to_add)
430425
else:
431-
logger.info(
432-
f"Incompatible date type: {type(date_metatag_value)}. It must be: "
433-
"date, datetime or str (complying with defined strftime format)."
434-
)
426+
logger.debug(f"Incompatible date type: {type(date_metatag_value)}")
435427
return out_date
436428
except ValueError as err:
437429
logger.error(

0 commit comments

Comments
 (0)