diff options
author | Guido van Rossum <guido@python.org> | 2013-12-03 11:33:56 -0800 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2013-12-03 11:33:56 -0800 |
commit | 02be63c8f45e99429bc73a40fc173669a16c1c11 (patch) | |
tree | 75f1079c7cd05356c7ff0ce03ebd1d62d41f8f62 /examples/fetch3.py | |
parent | 53af8758c4db5adfd82fad0e60d732ae07c5dbdf (diff) | |
download | trollius-02be63c8f45e99429bc73a40fc173669a16c1c11.tar.gz |
Use try/finally to close loop in examples. Add --iocp to fetch3.py.
Diffstat (limited to 'examples/fetch3.py')
-rw-r--r-- | examples/fetch3.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/examples/fetch3.py b/examples/fetch3.py index fa9ebb0..780222b 100644 --- a/examples/fetch3.py +++ b/examples/fetch3.py @@ -1,7 +1,7 @@ """Fetch one URL and write its content to stdout. This version adds a primitive connection pool, redirect following and -chunked transfer-encoding. +chunked transfer-encoding. It also supports a --iocp flag. """ import sys @@ -209,8 +209,16 @@ def fetch(url, verbose=True, max_redirect=10): def main(): - loop = get_event_loop() - body = loop.run_until_complete(fetch(sys.argv[1], '-v' in sys.argv)) + if '--iocp' in sys.argv: + from asyncio.windows_events import ProactorEventLoop + loop = ProactorEventLoop() + set_event_loop(loop) + else: + loop = get_event_loop() + try: + body = loop.run_until_complete(fetch(sys.argv[1], '-v' in sys.argv)) + finally: + loop.close() sys.stdout.buffer.write(body) |