Buenas!!
Estoy intentando sumar horas y minutos de la siguiente manera. Tengo una función que calcula las horas y minutos entre dos fechas y pone el valor en un campo float con un widget float_time (hh:mm) y necesito que si al volver a calcular una diferencia e intentar grabar de nuevo encuentra que ese campo no está vacío sume los valores. Alguno sabe como hacerlo?
@api.multi
def action_pause(self):
date_reboot = self.date_reboot
# Si hay fecha de reinicio calcula de diferencia entre ella y la fecha actual y resetea la fecha de reinicio
if (date_reboot!=False):
datetime_diff = datetime.now() - self.date_reboot
self.date_reboot=False
# Si no hay fecha de reinicio calcula la diferencia entre la fecha de incio y la fecha actual
else:
datetime_diff = datetime.now() - self.date_start
minutes, seconds = divmod(datetime_diff.total_seconds(), 60)
hours, minutes = divmod(minutes, 60)
dur_hours = (('%0*d')%(2,hours))
dur_minutes = (('%0*d')%(2,minutes*1.677966102))
duration = dur_hours+'.'+dur_minutes
# Si ya hay un computo de horas le suma el nuevo computo
unit_amount = self.unit_amount
if (unit_amount!=False):
duration = duration + unit_amount
return self.write({
'start_stop':False,
'unit_amount':duration
})