On Sun, 7 Feb 2016 at 08:17 Daniel Miller <dalanmiller at rethinkdb.com> wrote: > Awesome, I missed that. Thank you Brett. > Welcome! > > Am I understanding correctly that if I'd like to avoid `async with await > EXPR` whatever is returned from EXPR must implement `__await__` as a > non-coroutine method? Which then I'd just be able to use `async with ...`? > Assuming I'm following what you're asking properly, __aenter__ needs to return an awaitable: https://docs.python.org/3/reference/datamodel.html?#awaitable-objects. That is either an object that implements __await__() or a coroutine (which is basically a generator decorated with types.coroutine). > > > > 2016-02-06 16:05 GMT-06:00 Brett Cannon <brett at python.org>: > >> >> >> On Sat, 6 Feb 2016 at 13:50 Daniel Miller <dalanmiller at rethinkdb.com> >> wrote: >> >>> Hi Python-Dev Group, >>> >>> I am trying to implement __aenter__ and __aexit__ for the RethinkDB >>> <https://rethinkdb.com> Python driver. Looking at the PEP I don't see >>> any definitions as to what the expected parameters that __exit__ are >>> supposed to take and couldn't find any other similar implementations. Is >>> there a piece of documentation I should be looking at that I'm missing? >>> >>> >>> https://www.python.org/dev/peps/pep-0492/#asynchronous-context-managers-and-async-with >>> >> >> The arguments to __aexit__ are the same as __exit__ in a normal context >> manager. See >> https://docs.python.org/3.5/reference/datamodel.html#object.__aexit__ for >> the official docs for __aexit__. >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20160207/b8f3f4f0/attachment.html>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4