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!