def prepare_period(self, config: 'DocumentDigestConfig', dst_user: User, run_date: datetime.datetime) \ -> Tuple[datetime.datetime, datetime.datetime]: period_start = (run_date - datetime.timedelta(days=run_date.weekday())) \ .replace(hour=0, minute=0, second=0, microsecond=0) return period_start.astimezone( dst_user.get_time_zone()), run_date.astimezone( dst_user.get_time_zone())
def prepare_period(self, config: 'DocumentDigestConfig', dst_user: User, run_date: datetime.datetime) \ -> Tuple[datetime.datetime, datetime.datetime]: this_day_start = run_date.replace(hour=0, minute=0, second=0, microsecond=0) prev_day_start = this_day_start - datetime.timedelta(days=1) return prev_day_start.astimezone( dst_user.get_time_zone()), this_day_start.astimezone( dst_user.get_time_zone())
def prepare_period(self, config: 'DocumentDigestConfig', dst_user: User, run_date: datetime.datetime) \ -> Tuple[datetime.datetime, datetime.datetime]: period_start = DocumentDigestSendDate.objects \ .filter(config=config, to=dst_user).order_by('-date').values_list('date', flat=True).first() if not period_start: period_start = (run_date - datetime.timedelta(days=run_date.weekday())) \ .replace(hour=0, minute=0, second=0, microsecond=0) return period_start.astimezone( dst_user.get_time_zone()), run_date.astimezone( dst_user.get_time_zone())