1414from datetime import datetime
1515from datetime import date
1616from datetime import timedelta
17- ## from timeit import default_timer
17+ #from timeit import default_timer # PRT
1818from pytimeparse2 import parse as pyt2_parse_secs
1919from dateparser import parse as dateparser_parserdt
2020from dateparser .conf import SettingValidationError
@@ -77,20 +77,21 @@ def get_now():
7777
7878def get_dtz (elapsed_or_dt , dta , defaultdt = None ):
7979 """Get stop datetime, given a start time and a specific or elapsed time"""
80- ##if (dto := _get_dt_ampm(elapsed_or_dt, defaultdt)) is not None:
81- ## return dto
80+ # _get_dt_ampm(elapsed_or_dt, defaultdt) # PRT
81+ if (dto := _get_dt_ampm (elapsed_or_dt , defaultdt )) is not None :
82+ return dto
8283 if (dto := _get_dt_from_td (elapsed_or_dt , dta )) is not None :
8384 return dto
8485 return _conv_datetime (elapsed_or_dt , defaultdt )
8586
8687def _conv_datetime (timestr , defaultdt ):
8788 try :
8889 settings = None if defaultdt is None else {'RELATIVE_BASE' : defaultdt }
89- ## tic = default_timer() # PRT
90+ # tic = default_timer() # PRT
9091 dto = dateparser_parserdt (timestr , settings = settings )
91- ## print(f'{timedelta(seconds=default_timer()-tic)} dateparser parse({timestr})') # PRT
92- ## if dto is None: # PRT
93- ## print(f'ERROR: text({timestr}) could not be converted to a datetime object') # PRT
92+ # print(f'{timedelta(seconds=default_timer()-tic)} dateparser parse({timestr})') # PRT
93+ # if dto is None: # PRT
94+ # print(f'ERROR: text({timestr}) could not be converted to a datetime object') # PRT
9495 return dto
9596 except (ValueError , TypeError , SettingValidationError ) as err :
9697 print (f'ERROR FROM python-dateparser: { err } ' )
@@ -99,25 +100,25 @@ def _conv_datetime(timestr, defaultdt):
99100
100101def _get_dt_ampm (elapsed_or_dt , defaultdt ):
101102 """Get a datetime object from free text that contains AM/PM"""
102- ## tic = default_timer() # PRT
103- ## print(f'TEXT({elapsed_or_dt})') # PRT
103+ # tic = default_timer() # PRT
104+ # print(f'TEXT({elapsed_or_dt})') # PRT
104105 ret = None
105106 if (mtch := search_texttime (elapsed_or_dt )) is not None and 'hour' in mtch :
106- ## print(f'{timedelta(seconds=default_timer()-tic)} parse({elapsed_or_dt}) SM') # PRT
107+ # print(f'{timedelta(seconds=default_timer()-tic)} parse({elapsed_or_dt}) SM') # PRT
107108 _get_ymd (mtch , defaultdt )
108- ## print(f'{timedelta(seconds=default_timer()-tic)} parse({elapsed_or_dt}) today()') # PRT
109+ # print(f'{timedelta(seconds=default_timer()-tic)} parse({elapsed_or_dt}) today()') # PRT
109110 ret = datetime (year = mtch ['year' ], month = mtch ['month' ], day = mtch ['day' ],
110111 hour = mtch ['hour' ],
111112 minute = mtch .get ('minute' , 0 ),
112113 second = mtch .get ('second' , 0 ))
113- ##print(f'DEFAULTDT: {today} {ret}') # PRT
114- ##print(f'{timedelta(seconds=default_timer()-tic)} parse({elapsed_or_dt}) new datetime') # PRT
114+ # print(f'{timedelta(seconds=default_timer()-tic)} parse({elapsed_or_dt}) new datetime') # PRT
115115 return ret
116116
117117def _get_ymd (mtch , defaultdt ):
118118 if {'year' , 'month' , 'day' }.issubset (set (mtch .keys ())):
119119 return
120120 today = date .today () if defaultdt is None else defaultdt
121+ # print(f'DEFAULTDT: {today}') # PRT
121122 if 'year' not in mtch :
122123 mtch ['year' ] = today .year
123124 if 'month' not in mtch :
@@ -131,14 +132,14 @@ def _get_dt_from_td(elapsed_or_dt, dta):
131132 return dta + timedelta (seconds = secs )
132133 return None
133134
134- def _conv_timedelta (elapsed_or_dt ):
135+ def _conv_timedelta (timestr ):
135136 try :
136- ## tic = default_timer() # PRT
137- ret = pyt2_parse_secs (elapsed_or_dt )
138- ## print(f'{timedelta(seconds=default_timer()-tic)} pytimeparse2 parse({elapsed_or_dt })') # PRT
137+ # tic = default_timer() # PRT
138+ ret = pyt2_parse_secs (timestr )
139+ # print(f'{timedelta(seconds=default_timer()-tic)} pytimeparse2 parse({timestr })') # PRT
139140 return ret
140141 except TypeError as err :
141- raise RuntimeError (f'UNABLE TO CONVERT str({ elapsed_or_dt } ) '
142+ raise RuntimeError (f'UNABLE TO CONVERT str({ timestr } ) '
142143 'TO A timedelta object' ) from err
143144
144145# Copyright (C) 2025-present, DV Klopfenstein, PhD. All rights reserved.
0 commit comments