def multi_datedelta(date_delta): dias = DiaFestivo.objects.filter(dia__gte=date_delta.start_date.day, dia__lte=date_delta.end_date.day, mes__gte=date_delta.start_date.month, mes__lte=date_delta.end_date.month) date_deltas = [] for dia in dias: single_date = date(date_delta.start_date.year, dia.mes, dia.dia) delta = datedelta.for_day(single_date, datedelta.START_TIME, datedelta.END_TIME) date_deltas.append(delta) # end for return multi_datedelta(date_deltas)
def multi_datedelta(date_delta): dias = DiaDominical.objects.all() date_deltas = [] for dia in dias: for single_date in date_delta.daterange(): if single_date.weekday() == dia.dia: delta = datedelta.for_day(single_date, datedelta.START_TIME, datedelta.END_TIME) date_deltas.append(delta) # end if # end for # end for return multi_datedelta(date_deltas)
def get_delta_diurna(self): delta = multi_datedelta() for rango in self.diurna.all(): delta = delta + rango.datedelta() # end for return delta
def get_delta_dominical(self): delta = multi_datedelta() for rango in self.dominical.all(): delta = delta + rango.datedelta() # end for return delta
def get_delta_extras(self): delta = multi_datedelta() for rango in self.extras.all(): delta = delta + rango.datedelta() # end for return delta