summaryrefslogtreecommitdiff
path: root/slixmpp/xmlstream
AgeCommit message (Collapse)Author
2016-10-22sed -i 's/set(\[\(.*\)\])$/{\1}/g' **/*.pyEmmanuel Gil Peyrot
2016-10-22sed -i 's/set((\(.*\)))$/{\1}/g' **/*.pyEmmanuel Gil Peyrot
2016-10-22sed -i 's/set((\(.*\),))$/{\1}/g' **/*.pyEmmanuel Gil Peyrot
2016-10-05Remove monkeypatching hack on the event loopmathieui
This allowed us to schedule events in-order later in the event loop, but was detrimental to using other event loops and debugging.
2016-10-02Add a fallback if the lang we want is not availablemathieui
Previously, trying to get a text node with a lang which is different from the one we specified would return nothing, which means e.g. a message would be ignored because its body is of lang 'fr' when we setup slixmpp to prefer 'en'. We want to return something when there is an available, valid content in a different language.
2016-09-30Fix #3226 (unicity of scheduled event names)mathieui
Thanks tchiroux for raising the issue and providing the fix as well.
2016-09-30Minor documentation fixesSam Whited
2016-09-21ElementBase: Remove support for TitleCase methods.Emmanuel Gil Peyrot
This gains about 1/8th of the time spent in __getitem__.
2016-09-20ElementBase: Remove deprecated find() and findall() methods.discoEmmanuel Gil Peyrot
2016-09-20ElementBase: Remove attrib interface.Emmanuel Gil Peyrot
2016-09-20ElementBase: Remove subitem interface.Emmanuel Gil Peyrot
2016-08-19Merge remote-tracking branch 'zejn/master'louiz’
2016-08-17ElementBase: micro-optimise __getitem__, hands down the most often called ↵Emmanuel Gil Peyrot
function This makes it go down from 8.767s to 7.960s in a random benchmark. Remove unnecessary assignations, don’t create an OrderedDict from a dict to then convert it to a dict again, only obtain the get_method2 name if get_method wasn’t present. get_method2 (the title-case one) takes about 1/8th of the total time spent in this function, we should eliminate it as soon as possible.
2016-08-12Provide domain name to loop.create_connection if using SSL.Gasper Zejn
2016-05-28Fix the Waiter handler for asynciomathieui
2015-10-02Merge branch 'sleek-merge'mathieui
2015-10-02Merge branch 'develop' of https://github.com/fritzy/SleekXMPP into sleek-mergemathieui
Conflicts: README.rst examples/IoT_TestDevice.py examples/disco_browser.py setup.py sleekxmpp/jid.py sleekxmpp/plugins/google/auth/stanza.py sleekxmpp/plugins/google/gmail/notifications.py sleekxmpp/plugins/google/nosave/stanza.py sleekxmpp/plugins/google/settings/settings.py sleekxmpp/thirdparty/__init__.py sleekxmpp/thirdparty/socks.py sleekxmpp/thirdparty/statemachine.py sleekxmpp/util/__init__.py sleekxmpp/xmlstream/xmlstream.py slixmpp/basexmpp.py slixmpp/plugins/xep_0004/stanza/form.py slixmpp/plugins/xep_0009/rpc.py slixmpp/plugins/xep_0050/adhoc.py slixmpp/plugins/xep_0065/proxy.py slixmpp/plugins/xep_0084/stanza.py slixmpp/plugins/xep_0202/time.py slixmpp/plugins/xep_0323/sensordata.py slixmpp/plugins/xep_0325/control.py slixmpp/plugins/xep_0325/stanza/control.py slixmpp/roster/single.py slixmpp/stanza/atom.py slixmpp/stanza/rootstanza.py slixmpp/test/slixtest.py slixmpp/util/sasl/mechanisms.py slixmpp/version.py slixmpp/xmlstream/stanzabase.py tests/test_stanza_xep_0323.py tests/test_stanza_xep_0325.py tests/test_stream_xep_0323.py tests/test_stream_xep_0325.py
2015-09-25Reset the DNS answers after a connection is made succesfullymathieui
2015-09-24Fix IPv6 resolving with aiodns 1.0mathieui
2015-09-19Fix connecting to a custom host/portmathieui
2015-09-14(Temporary) fix for python 3.5mathieui
This will work until the old ssl implementation is finally deprecated. Hopefully, new features to painlessy implement starttls will be around by then.
2015-09-14Bump the requirements to aiodns 1.0mathieui
(and use install_requires instead of requires in the setup.py)
2015-08-08Strip strings after pygments, so we don’t include an needless newline.Emmanuel Gil Peyrot
2015-08-08Reset the connect future after a disconnectmathieui
2015-07-21Add a waiting time before reconnecting automaticallymathieui
Punishing a server for being down by sending more traffic is not a nice thing to do. Taking 100% of the CPU is not nice either.
2015-05-12Allow the use of a custom loop instead of asyncio.get_event_loop()mathieui
2015-05-06Make syntax highlighting for XML lazy, to only call pygments when debug logs ↵Emmanuel Gil Peyrot
are enabled. Makes poezio about 11% faster when sending/receiving messages.
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-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-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-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-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-17Check that ciphers have been initializedmathieui
(if not, python will use the system default)
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-04XMLStream must provide the BaseProtocol interfaceFlorent Le Coz
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
2015-01-03Delay the handling of stanza for when the process is not busyFlorent 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-17Make the ca_certs option useful again (CA-based cert validation)mathieui
It was broken since the fork.
2014-12-11Bring back authentication through SASL EXTERNALmathieui
(and only update the ssl context before it gets used)
2014-11-14Lower the timeout for each DNS resolution attemptFlorent Le Coz
2014-11-12Let loop.create_connection do its getaddrinfo coroutine if there are no dns ↵mathieui
records left/available
2014-11-05Also work without SRV recordsFlorent Le Coz