summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-04-04XMLStream: add a forever parameter to process(), defaulting to True, to ↵Emmanuel Gil Peyrot
select whether we want to stop the event loop after a disconnection
2015-03-02XMLStream: factorize the highlight function so it can be used in tests as wellEmmanuel Gil Peyrot
2015-02-28Set XMLStream.socket after the SSL connection is made toomathieui
Fixes SCRAM-SHA-1-PLUS.
2015-02-28XEP-0325: Don’t use threadingmathieui
2015-02-28Revert or edit most previous XEP plugin changesmathieui
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 506ca6991790cffb90c5b6e3b765237ccc136e1a. Revert "XEP-0060: wrap all iq-sending functions with coroutine_wrapper" This reverts commit e85fa4203e0ee7108d8d37f73913c21628e3d6fc. Revert "XEP-0163: wrap publish() with coroutine_wrapper" This reverts commit 69da1c1d7cf7a1c0dbbeeb83f528b4e5f5b5be0c. Revert "XEP-0084: wrap functions with coroutine_wrapper" This reverts commit ea5615f236bd80fb4217398977833ca790cbef71. 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 e68135f59f9a224688679eb91e8063041d6f000b. Revert "XEP-0077: wrap functions with coroutine_wrapper" This reverts commit 1e4944d47e8296fdaa792a8b3fc87ea99acc217c. 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 4da870fd191697d010e677eee32ef86439967353. Revert "XEP-0092: wrap get_version() with coroutine_wrapper" This reverts commit 6e35948276c36ea2696f0de64dc179a1073ee3a6. Revert "XEP-0191: wrap functions with coroutine_wrapper" This reverts commit 6e8235544cc1bdefea75a8d93e5e3a48a13552ba. Revert "XEP-0280: wrap functions with coroutine_wrapper" This reverts commit f795ac02e322445be13077463638924d1f22d313. Revert "XEP-0012: wrap get_last_activity() with coroutine_wrapper" This reverts commit 2ee05d9616d2959d19a7a87d21c58e6aae1db56e. Revert "XEP-0202: wrap get_entity_time() with coroutine_wrapper" This reverts commit 6fb3ecd414f24374f17811d7ad2fd01e4924e311. Revert "XEP-0231: wrap get_bob() with coroutine_wrapper" This reverts commit 17464b10a42d9b3c4daba763e06e53c429478abd. Revert "XEP-0258: wrap get_catalog() with coroutine_wrapper" This reverts commit 18a4978456a33e6ea38de1e07b1aa43bcc10d45f. Revert "XEP-0050: wrap send_command() and get_commands() with coroutine_wrapper" This reverts commit e034b31d6bc34f43578456e9c6527bc56dff78e3. Revert "XEP-0279: wrap check_ip() with coroutine_wrapper" This reverts commit e112e864756f1222a044ee28e3c13c5925618b0c.
2015-02-28Fix examples relying on the changed APImathieui
2015-02-28Change the API to make iq.send() always return a futuremathieui
remove coroutine_wrapper, add a future_wrapper (which is only needed when the result stanza can be cached). Update the documentation as well.
2015-02-24Update the documentation and examplesmathieui
- 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
2015-02-24XEP-0279: wrap check_ip() with coroutine_wrappermathieui
2015-02-24XEP-0050: wrap send_command() and get_commands() with coroutine_wrappermathieui
(if flow=True in send_command, the result will still be using the default callbacks and the function will return None)
2015-02-24XEP-0258: wrap get_catalog() with coroutine_wrappermathieui
2015-02-24XEP-0231: wrap get_bob() with coroutine_wrappermathieui
2015-02-24XEP-0202: wrap get_entity_time() with coroutine_wrappermathieui
2015-02-24XEP-0084: fix setting and getting the Data valuemathieui
get_value: return a bytes object set_value: accept a bytes or a str object
2015-02-24XEP-0012: wrap get_last_activity() with coroutine_wrappermathieui
2015-02-24XEP-0280: wrap functions with coroutine_wrappermathieui
2015-02-24XEP-0191: wrap functions with coroutine_wrappermathieui
2015-02-24XEP-0092: wrap get_version() with coroutine_wrappermathieui
2015-02-24XEP-0257: wrap functions with coroutine_wrappermathieui
2015-02-24XEP-0199: wrap functions with coroutine_wrapper and make ping() a coroutinemathieui
2015-02-24XEP-0077: wrap functions with coroutine_wrappermathieui
2015-02-24XEP-0049: wrap functions with coroutine_wrappermathieui
2015-02-24XEP-0115: fix a handler which expected an iq to blockmathieui
2015-02-24XEP-0153: wrap functions with coroutine_wrappermathieui
2015-02-24XEP-0054: wrap functions with coroutine_wrappermathieui
2015-02-24XEP-0084: wrap functions with coroutine_wrappermathieui
2015-02-24XEP-0163: wrap publish() with coroutine_wrappermathieui
2015-02-24XEP-0060: wrap all iq-sending functions with coroutine_wrappermathieui
2015-02-24XEP-0030: allow get_info and get_items to return a coroutinemathieui
2015-02-24Fix dns resolution without aiodnsmathieui
(use loop.getaddrinfo instead of the blocking version)
2015-02-24Remove the filesocket shim (2.6 compatibility)mathieui
2015-02-23Add back stanza-specific exception handlersmathieui
(fixes the test suite too)
2015-02-23Import xmlstream.asyncio and coroutine_wrapper at the top levelmathieui
Since they will be used quite a lot in plugins.
2015-02-23Add a coroutine_wrapper decoratormathieui
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.
2015-02-23Add a coroutine parameter to iq.send() to return a coroutinemathieui
(instead of exposing a different send_coroutine method)
2015-02-22Use CallbackCoroutine with Iq callbacks toomathieui
2015-02-22Allow event handlers to be coroutine functionsmathieui
And do not copy data when running events with XMLStream.event()
2015-02-21Add a “blocking” send_coroutine method to the Iq classmathieui
2015-02-17Check that ciphers have been initializedmathieui
(if not, python will use the system default)
2015-02-12Update the test suite.mathieui
- monkey-patch our own monkey-patched idle_call to run events immediatly rather than adding them to the event queue, and add a fake transport with a fake socket. - remove the test file related to xep_0059 as it relies on blocking behavior, and comment out one xep_0030 test uses xep_0059 - remove many instances of threading and sleep()s because they do nothing except waste time and introduce race conditions. - keep exactly two sleep() in IoT xeps because they rely on timeouts
2015-02-12Remove more threaded= and block= options from the pluginsmathieui
(also, correct a typo)
2015-02-12Do the plugins post_init() upload loadingmathieui
(the top_level boolean used to load them at this point wasn’t ever set to true)
2015-02-12Fix the uses of stanza.reply()mathieui
This is relying on the stanzas being copied for each handler. We no longer do that for performance reasons, so instead of editing the copy in-place, stanza.reply() now returns a new stanza.
2015-02-12Fix the componentxmpp interfacemathieui
2015-02-04XMLStream must provide the BaseProtocol interfaceFlorent Le Coz
2015-02-04Don’t set the msg['from'] and msg['id'] in receipt.ack()mathieui
setting msg['id'] is wrong, and setting msg['from'] might lead to echoing back wrong input.
2015-01-15Expose MUC support in disco#infomathieui
http://xmpp.org/extensions/xep-0045.html#disco-client
2015-01-05Fix the call of iscoroutinefunction()Florent Le Coz
2015-01-03Do not copy the stanza before calling each handlerexp_idle_callFlorent Le Coz
2015-01-03Use a deque for the idle listFlorent Le Coz