1
0
personal-data/personal_data/parse_util.py

31 lines
1.0 KiB
Python
Raw Normal View History

2024-02-25 00:38:44 +00:00
import datetime
DATETIME_UNITS = {
'second': datetime.timedelta(seconds = 1),
'seconds': datetime.timedelta(seconds = 1),
'minute': datetime.timedelta(minutes = 1),
'minutes': datetime.timedelta(minutes = 1),
'hour': datetime.timedelta(hours = 1),
'hours': datetime.timedelta(hours = 1),
'day': datetime.timedelta(days = 1),
'days': datetime.timedelta(days = 1),
'week': datetime.timedelta(days = 7),
'weeks': datetime.timedelta(days = 7),
'month': datetime.timedelta(days = 30),
'months': datetime.timedelta(days = 30),
'year': datetime.timedelta(days = 365),
'years': datetime.timedelta(days = 365),
}
2024-03-03 16:25:34 +00:00
FORMAT_DATE_HEADER = '%a, %d %b %Y %H:%M:%S GMT'
2024-02-25 00:38:44 +00:00
def parse_duration(text: str) -> datetime.timedelta:
(num, unit) = text.split(' ')
num = int(num)
unit = DATETIME_UNITS[unit]
return unit * num
2024-03-03 16:25:34 +00:00
def response_datetime(response) -> datetime.datetime:
return datetime.datetime.strptime(response.headers['Date'], FORMAT_DATE_HEADER)