Source code for ecstask.productavailability.utilities.date_util
from datetime import datetime
from dateutil.relativedelta import relativedelta
[docs]def is_more_than_one_year(new_mask_from, new_mask_until, _):
now = datetime.now()
today_datetime = datetime(now.year, now.month, now.day)
from_time_difference = relativedelta(new_mask_from, today_datetime)
from_difference_in_years = from_time_difference.years
if from_difference_in_years >= 1:
return True
time_difference = relativedelta(new_mask_until, new_mask_from)
difference_in_years = time_difference.years
if difference_in_years >= 1:
return True
return False
[docs]def is_mask_date_overlapping(existing_mask_from, existing_mask_until, new_mask_from, new_mask_until):
"""
This method is used for finding the overlapping masking dates
:param existing_mask_from:
:param existing_mask_until:
:param new_mask_from:
:param new_mask_until:
:return:
"""
ex_mask_from_date = existing_mask_from
ex_mask_until_date = existing_mask_until
new_mask_from_date = new_mask_from
new_mask_until_date = new_mask_until
if ex_mask_from_date <= new_mask_from_date and new_mask_until_date >= ex_mask_until_date:
return True
if ex_mask_from_date >= new_mask_from_date and new_mask_until_date <= ex_mask_until_date:
return True
return False