Page MenuHomec4science

functions.py
No OneTemporary

File Metadata

Created
Sun, Sep 1, 15:55

functions.py

'''
Various functions
'''
from datetime import datetime
from argparse import ArgumentTypeError
from dateutil.relativedelta import relativedelta
def valid_date(date):
try:
validate = datetime.strptime(date, "%Y-%m-%d")
return validate
except ValueError as error:
msg = "Not a valid date: '{0}', YYYY-MM-DD expected.".format(date)
raise ArgumentTypeError(msg) from error
def valid_period(date):
try:
validate = datetime.strptime(date, "%Y-%m")
return (validate, validate + relativedelta(months=1))
except ValueError:
pass
try:
validate = datetime.strptime(date, "%Y")
return (validate, validate + relativedelta(months=12))
except ValueError as error:
msg = "Not a valid period: '{0}', YYYY-MM or YYYY expected.".format(
date)
raise ArgumentTypeError(msg) from error

Event Timeline