Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-02-24 | XEP-0279: wrap check_ip() with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0050: wrap send_command() and get_commands() with coroutine_wrapper | mathieui | |
(if flow=True in send_command, the result will still be using the default callbacks and the function will return None) | |||
2015-02-24 | XEP-0258: wrap get_catalog() with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0231: wrap get_bob() with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0202: wrap get_entity_time() with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0084: fix setting and getting the Data value | mathieui | |
get_value: return a bytes object set_value: accept a bytes or a str object | |||
2015-02-24 | XEP-0012: wrap get_last_activity() with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0280: wrap functions with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0191: wrap functions with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0092: wrap get_version() with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0257: wrap functions with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0199: wrap functions with coroutine_wrapper and make ping() a coroutine | mathieui | |
2015-02-24 | XEP-0077: wrap functions with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0049: wrap functions with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0115: fix a handler which expected an iq to block | mathieui | |
2015-02-24 | XEP-0153: wrap functions with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0054: wrap functions with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0084: wrap functions with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0163: wrap publish() with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0060: wrap all iq-sending functions with coroutine_wrapper | mathieui | |
2015-02-24 | XEP-0030: allow get_info and get_items to return a coroutine | mathieui | |
2015-02-24 | Fix dns resolution without aiodns | mathieui | |
(use loop.getaddrinfo instead of the blocking version) | |||
2015-02-24 | Remove the filesocket shim (2.6 compatibility) | mathieui | |
2015-02-23 | Add back stanza-specific exception handlers | mathieui | |
(fixes the test suite too) | |||
2015-02-23 | Import xmlstream.asyncio and coroutine_wrapper at the top level | mathieui | |
Since they will be used quite a lot in plugins. | |||
2015-02-23 | Add a coroutine_wrapper decorator | mathieui | |
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-23 | Add a coroutine parameter to iq.send() to return a coroutine | mathieui | |
(instead of exposing a different send_coroutine method) | |||
2015-02-22 | Use CallbackCoroutine with Iq callbacks too | mathieui | |
2015-02-22 | Allow event handlers to be coroutine functions | mathieui | |
And do not copy data when running events with XMLStream.event() | |||
2015-02-21 | Add a “blocking” send_coroutine method to the Iq class | mathieui | |
2015-02-17 | Check that ciphers have been initialized | mathieui | |
(if not, python will use the system default) | |||
2015-02-12 | Update 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-12 | Remove more threaded= and block= options from the plugins | mathieui | |
(also, correct a typo) | |||
2015-02-12 | Do the plugins post_init() upload loading | mathieui | |
(the top_level boolean used to load them at this point wasn’t ever set to true) | |||
2015-02-12 | Fix 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-12 | Fix the componentxmpp interface | mathieui | |
2015-02-04 | XMLStream must provide the BaseProtocol interface | Florent Le Coz | |
2015-02-04 | Don’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-15 | Expose MUC support in disco#info | mathieui | |
http://xmpp.org/extensions/xep-0045.html#disco-client | |||
2015-01-05 | Fix the call of iscoroutinefunction() | Florent Le Coz | |
2015-01-03 | Do not copy the stanza before calling each handlerexp_idle_call | Florent Le Coz | |
2015-01-03 | Use a deque for the idle list | Florent Le Coz | |
2015-01-03 | Delay the handling of stanza for when the process is not busy | Florent Le Coz | |
We use some dirty monkey-patching to add a idle_call() function to the asyncio module. We then use that method to handle each received stanza only when the event loop is not busy with some other IO (mainly, the standard input) | |||
2014-12-17 | Make the ca_certs option useful again (CA-based cert validation) | mathieui | |
It was broken since the fork. | |||
2014-12-11 | Bring back authentication through SASL EXTERNAL | mathieui | |
(and only update the ssl context before it gets used) | |||
2014-12-11 | Fix xep-0257 for slixmpp, and fix an element name | mathieui | |
2014-11-14 | Lower the timeout for each DNS resolution attempt | Florent Le Coz | |
2014-11-12 | Let loop.create_connection do its getaddrinfo coroutine if there are no dns ↵ | mathieui | |
records left/available | |||
2014-11-05 | Also work without SRV records | Florent Le Coz | |
2014-11-03 | Depend on aiodns and not dnspython in the setup.py | mathieui | |