def notify_parent(last = false)
      @last_time ||= Time.now.to_f
      @elapsed_sum ||= 0
      time_now = Time.now.to_f
      elapsed_from_last = (time_now - @last_time).to_i

      if elapsed_from_last > 0.3 || last

        @last_time = time_now        
        @elapsed_sum += elapsed_from_last
        gvalue = (@size_read.to_f / @infile_size.to_f * 100 * 100).to_i
        elt_str = sec_to_str(@elapsed_sum)
        if last
          eta_str = "00:00:00"
        else
          lines_persec = @size_read / @elapsed_sum if @elapsed_sum > 0
          eta_sec = (@infile_size - @size_read) / lines_persec
          eta_str = sec_to_str(eta_sec)
        end
        @parent.prg_update(gvalue, elt_str, eta_str)
      end
    end
def notify_parent(last = false)
      @last_time ||= Time.now.to_f
      @elapsed_sum ||= 0
      time_now = Time.now.to_f
      elapsed_from_last = (time_now - @last_time).to_i

      if elapsed_from_last > 0.3 || last

        @last_time = time_now        
        @elapsed_sum += elapsed_from_last
        gvalue = (@size_read.to_f / @infile_size.to_f * 100 * 100).to_i
        elt_str = sec_to_str(@elapsed_sum)
        if last
          eta_str = "00:00:00"
        else
          lines_persec = @size_read / @elapsed_sum if @elapsed_sum > 0
          eta_sec = (@infile_size - @size_read) / lines_persec
          eta_str = sec_to_str(eta_sec)
        end
        @parent.prg_update(gvalue, elt_str, eta_str)
      end
    end
control the display of command line progressbar (or gui which is not available for now)