From: Scott Gasch Date: Thu, 9 Jun 2022 00:29:57 +0000 (-0700) Subject: Docs and test. X-Git-Url: https://wannabe.guru.org/gitweb/?a=commitdiff_plain;h=6cd6c39d818ee72a041e17f861ce3989369132b1;p=python_utils.git Docs and test. --- diff --git a/string_utils.py b/string_utils.py index 7c40dc9..24fc595 100644 --- a/string_utils.py +++ b/string_utils.py @@ -1388,7 +1388,21 @@ def to_date(in_str: str) -> Optional[datetime.date]: return None -def extract_date(in_str: Any) -> Optional[str]: +def extract_date(in_str: Any) -> Optional[datetime.datetime]: + """Finds and extracts a date from the string, if possible. + + Args: + in_str: the string to extract a date from + + Returns: + a datetime if date was found, otherwise None + + >>> extract_date("filename.txt dec 13, 2022") + datetime.datetime(2022, 12, 13, 0, 0) + + >>> extract_date("Dear Santa, please get me a pony.") + + """ import itertools import dateparse.dateparse_utils as du @@ -1405,7 +1419,7 @@ def extract_date(in_str: Any) -> Optional[str]: expr = " ".join(ngram) logger.debug(f"Trying {expr}") if d.parse(expr): - return d.get_date() + return d.get_datetime() except du.ParseException: # type: ignore pass return None