Hmm, not sure how to comment on the lost comment. But @PragTob asked about setting percent in the progress proc. 

It looks to me like progress is defined in terms of content_length and transferred. So as long as they get handled during progress and set at the end like this, then percent will return the right stuff.