From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 12 Oct 2022 04:06:40 +0000 (-0700) Subject: Formatting fixes in contextlib docs (GH-98111) X-Git-Tag: v3.10.9~161 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f6abb332a2cc9bf1027bf90637b98c606dc63b4a;p=thirdparty%2FPython%2Fcpython.git Formatting fixes in contextlib docs (GH-98111) (cherry picked from commit 3b33c2010aa00ef5877bc35b02ae658e3c9f27af) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- diff --git a/Doc/library/contextlib.rst b/Doc/library/contextlib.rst index 7c0b83140796..c65670713e0d 100644 --- a/Doc/library/contextlib.rst +++ b/Doc/library/contextlib.rst @@ -66,6 +66,8 @@ Functions and classes provided: # Code to release resource, e.g.: release_resource(resource) + The function can then be used like this:: + >>> with managed_resource(timeout=3600) as resource: ... # Resource is released at the end of this block, ... # even if code in the block raises an exception @@ -140,9 +142,9 @@ Functions and classes provided: finally: print(f'it took {time.monotonic() - now}s to run') - @timeit() - async def main(): - # ... async code ... + @timeit() + async def main(): + # ... async code ... When used as a decorator, a new generator instance is implicitly created on each function call. This allows the otherwise "one-shot" context managers @@ -249,15 +251,15 @@ Functions and classes provided: :ref:`asynchronous context managers `:: async def send_http(session=None): - if not session: - # If no http session, create it with aiohttp - cm = aiohttp.ClientSession() - else: - # Caller is responsible for closing the session - cm = nullcontext(session) + if not session: + # If no http session, create it with aiohttp + cm = aiohttp.ClientSession() + else: + # Caller is responsible for closing the session + cm = nullcontext(session) - async with cm as session: - # Send http requests with session + async with cm as session: + # Send http requests with session .. versionadded:: 3.7 @@ -379,6 +381,8 @@ Functions and classes provided: print('Finishing') return False + The class can then be used like this:: + >>> @mycontext() ... def function(): ... print('The bit in the middle') @@ -449,6 +453,8 @@ Functions and classes provided: print('Finishing') return False + The class can then be used like this:: + >>> @mycontext() ... async def function(): ... print('The bit in the middle')