Redshift progress bar miscalculation

I noticed that the blocks-done/blocks-total computation is a tad strange. From Redshift.py:

def HandleProgress( self ):
    self.FinishedBlocks += 1
    totalBlockCount = float( self.GetRegexMatch( 2 ) )

    progress = 100 * self.FinishedBlocks / totalBlockCount
    self.SetProgress( progress )
    self.SetStatusMessage( "%s / %s Blocks Rendered" % ( self.FinishedBlocks, int( totalBlockCount ) ) )

So the finished blocks count is incremented?!? whenever this callback is invoked? That explains why I’m seeing block counts in the 800+ for a render that has 299 blocks, and the predictable result is that the percentage-complete bar is mostly at 100% even when renders are only 25% done.

Since both complete and total blocks are sifted from stdout, why not use them directly and get the correct result?

On a related topic, is there documentation for the regex used in AddStdoutHandlerCallback()?

self.AddStdoutHandlerCallback( "Block (\\d+)/(\\d+) .+ rendered" ).HandleCallback += self.HandleProgress

How would I scan for a backslash? Four backslashes didn’t seem to do the trick.

Thanks!

Yeah, seems like a bug.