In a single commit, because it isn’t that interesting to detail each
change.
List of reverts:
Revert "XEP-0030: allow get_info and get_items to return a coroutine"
This reverts commit 506ca69917.
Revert "XEP-0060: wrap all iq-sending functions with coroutine_wrapper"
This reverts commit e85fa4203e.
Revert "XEP-0163: wrap publish() with coroutine_wrapper"
This reverts commit 69da1c1d7c.
Revert "XEP-0084: wrap functions with coroutine_wrapper"
This reverts commit ea5615f236.
Partially revert 3d243f7 (XEP-0054) - continue wrapping functions but with future_wrapper
Partially revert 115fe95 (xep-0153) - use callbacks rather than coroutine callbacks, and propagate iqtimeouts in set_avatar.
Revert "XEP-0049: wrap functions with coroutine_wrapper"
This reverts commit e68135f59f.
Revert "XEP-0077: wrap functions with coroutine_wrapper"
This reverts commit 1e4944d47e.
Partially revert cd7ff685 (XEP-0199) - remove the iq.send wrapping but keep ping() as a coroutine
Revert "XEP-0257: wrap functions with coroutine_wrapper"
This reverts commit 4da870fd19.
Revert "XEP-0092: wrap get_version() with coroutine_wrapper"
This reverts commit 6e35948276.
Revert "XEP-0191: wrap functions with coroutine_wrapper"
This reverts commit 6e8235544c.
Revert "XEP-0280: wrap functions with coroutine_wrapper"
This reverts commit f795ac02e3.
Revert "XEP-0012: wrap get_last_activity() with coroutine_wrapper"
This reverts commit 2ee05d9616.
Revert "XEP-0202: wrap get_entity_time() with coroutine_wrapper"
This reverts commit 6fb3ecd414.
Revert "XEP-0231: wrap get_bob() with coroutine_wrapper"
This reverts commit 17464b10a4.
Revert "XEP-0258: wrap get_catalog() with coroutine_wrapper"
This reverts commit 18a4978456.
Revert "XEP-0050: wrap send_command() and get_commands() with coroutine_wrapper"
This reverts commit e034b31d6b.
Revert "XEP-0279: wrap check_ip() with coroutine_wrapper"
This reverts commit e112e86475.
- update most of the examples with slixmpp
- change the help channels pointed out in the doc
- add a page listing differences from slixmpp and how to use asyncio
nicely with slixmpp
- fix some in-code rst documentation
This decorator checks for the coroutine=True keyword arg and wraps the
result of the function call in a coroutine if it isn’t.
This allows to have constructs like:
@coroutine_wrapper
def toto(xmpp, *, coroutine=False):
if xmpp.cached:
return xmpp.cached
else:
return xmpp.make_iq_get().send(coroutine=coroutine)
@asyncio.coroutine
def main(xmpp):
result = yield from toto(xmpp, coroutine=True)
xmpp.cached = result
result2 = yield from toto(xmpp, coroutine=True)
If the wrapper wasn’t there, the second fetch would fail. This decorator
does not do anything if the coroutine argument is False.