Cross-toolkit UI progress tracking
When doing complex processing that has to report progress indication to the user, things can get complex quick. Often, we don’t know beforehand how many work unit our processing will have, because knowing it depends on another work unit for which the progress should also be reported to the user. One example of such situation is processing files after having collected them. When we start the process, we don’t know how many files we’ll collect, so it’s hard to set a maximum value on our progress bar. jobprogress handles that.
Also, most of the time, we want to run our task in a separate thread so the GUI stays smooth. jobprogress takes care of synchronizing the threaded task and the GUI.
For now, only PyQt is supported, but the toolkit specific layer is pretty thin, so it should be easy to add new toolkits.
The documentation has to be built with Sphinx. You can build the documentation with:
cd docs make html
The documentation is also available online at http://www.hardcoded.net/docs/jobprogress
Version 1.0.4 – 2012/03/20
- Made ThreadedJobPerformer.reraise_if_error() public and stopped calling it automatically.
Version 1.0.3 – 2011/12/07
- Fixed weird meta-crash on ThreadedJobPerformer._reraise_if_error()
Version 1.0.2 – 2011/07/11
Version 1.0.1 – 2011/05/29
- Added debug information for a weird crash in ThreadedJobPerformer._reraise_if_error()
Version 1.0.0 – 2010/11/20
- Initial Release