'Updates how many hours ago each partition was moved based on the
current time. The builder won\'t move a partition that has been moved
more recently than min_part_hours.'

def _update_last_part_moves(self):

    self._part_moved_bitmap = bytearray(max((2 ** (self.part_power - 3)), 1))
    elapsed_hours = (int((time() - self._last_part_moves_epoch)) / 3600)
    if ((elapsed_hours <= 0) or (not self._last_part_moves)):
        return
    for part in range(self.parts):
        last_plus_elapsed = (self._last_part_moves[part] + elapsed_hours)
        if (last_plus_elapsed < 255):
            self._last_part_moves[part] = last_plus_elapsed
        else:
            self._last_part_moves[part] = 255
    self._last_part_moves_epoch = int(time())
