0001import time
0002
0003def slow_app(environ, start_response):
0004    progress = environ.get('waitforit.progress', {})
0005    start = time.time()
0006    total = 10
0007    while time.time() - start < total:
0008        progress['message'] = 'Currently at %.2f seconds (started at %i)' % (
0009            time.time() - start, start)
0010        progress['percent'] = (time.time() - start) * 100 / total
0011        progress
0012        time.sleep(1)
0013    start_response('200 OK', [('Content-type', 'text/plain')])
0014    return ['I was started at %i.' % start]
0015
0016if __name__ == '__main__':
0017    from paste.httpserver import serve
0018    from waitforit.middleware import WaitForIt
0019    app = WaitForIt(slow_app, 1, 1)
0020    from paste.translogger import TransLogger
0021    app = TransLogger(app)
0022    serve(app, host='127.0.0.1', port='8080')