|
|
@@ -11,28 +11,28 @@ CALENDAR_FREQUENCIES = {
|
|
|
|
|
|
# Espera date en UTC
|
|
|
def get_next_calendar_date(date: datetime, frequency: str):
|
|
|
- base_date: datetime = date.replace(hour=23, minute=59, second=59, microsecond=0)
|
|
|
+ base_date: datetime = date.replace(hour=2, minute=59, second=59, microsecond=0) + delta(days=1)
|
|
|
if frequency == "daily":
|
|
|
return base_date
|
|
|
if frequency == "weekly":
|
|
|
days_ahead = -date.weekday() + 6 # Lunes
|
|
|
return base_date + delta(days=days_ahead)
|
|
|
if frequency == "monthly":
|
|
|
- return (base_date.replace(day=1) + reldelta(months=1)) - delta(days=1)
|
|
|
+ return (base_date.replace(day=1) + reldelta(months=1))
|
|
|
if frequency == "yearly":
|
|
|
- return (base_date.replace(day=1, month=1) + reldelta(years=1)) - delta(days=1)
|
|
|
+ return (base_date.replace(day=1, month=1) + reldelta(years=1))
|
|
|
return None
|
|
|
|
|
|
# Espera date en UTC
|
|
|
def get_previous_calendar_date(date: datetime, frequency: str):
|
|
|
- base_date: datetime = date.replace(hour=23, minute=59, second=59, microsecond=0)
|
|
|
+ base_date: datetime = date.replace(hour=2, minute=59, second=59, microsecond=0)
|
|
|
if frequency == "daily":
|
|
|
- return base_date - delta(days=1)
|
|
|
+ return base_date
|
|
|
if frequency == "weekly":
|
|
|
- days_ahead = date.weekday() + 1
|
|
|
+ days_ahead = date.weekday()
|
|
|
return base_date - delta(days=days_ahead)
|
|
|
if frequency == "monthly":
|
|
|
- return base_date.replace(day=1) - delta(days=1)
|
|
|
+ return base_date.replace(day=1)
|
|
|
if frequency == "yearly":
|
|
|
- return base_date.replace(day=1, month=1) - delta(days=1)
|
|
|
+ return base_date.replace(day=1, month=1)
|
|
|
return None
|