mathieui
e034b31d6b
XEP-0050: wrap send_command() and get_commands() with coroutine_wrapper
...
(if flow=True in send_command, the result will still be using the
default callbacks and the function will return None)
2015-02-24 22:46:07 +01:00
mathieui
18a4978456
XEP-0258: wrap get_catalog() with coroutine_wrapper
2015-02-24 22:46:07 +01:00
mathieui
17464b10a4
XEP-0231: wrap get_bob() with coroutine_wrapper
2015-02-24 22:46:07 +01:00
mathieui
6fb3ecd414
XEP-0202: wrap get_entity_time() with coroutine_wrapper
2015-02-24 22:46:07 +01:00
mathieui
c214e4f037
XEP-0084: fix setting and getting the Data value
...
get_value: return a bytes object
set_value: accept a bytes or a str object
2015-02-24 22:46:06 +01:00
mathieui
2ee05d9616
XEP-0012: wrap get_last_activity() with coroutine_wrapper
2015-02-24 22:46:06 +01:00
mathieui
f795ac02e3
XEP-0280: wrap functions with coroutine_wrapper
2015-02-24 22:46:06 +01:00
mathieui
6e8235544c
XEP-0191: wrap functions with coroutine_wrapper
2015-02-24 22:46:06 +01:00
mathieui
6e35948276
XEP-0092: wrap get_version() with coroutine_wrapper
2015-02-24 22:46:05 +01:00
mathieui
4da870fd19
XEP-0257: wrap functions with coroutine_wrapper
2015-02-24 22:46:05 +01:00
mathieui
cd7ff685fb
XEP-0199: wrap functions with coroutine_wrapper and make ping() a coroutine
2015-02-24 22:46:05 +01:00
mathieui
1e4944d47e
XEP-0077: wrap functions with coroutine_wrapper
2015-02-24 22:46:05 +01:00
mathieui
e68135f59f
XEP-0049: wrap functions with coroutine_wrapper
2015-02-24 22:46:04 +01:00
mathieui
6408c5a747
XEP-0115: fix a handler which expected an iq to block
2015-02-24 22:46:04 +01:00
mathieui
115fe954ac
XEP-0153: wrap functions with coroutine_wrapper
2015-02-24 22:46:04 +01:00
mathieui
3d243f7da5
XEP-0054: wrap functions with coroutine_wrapper
2015-02-24 22:46:04 +01:00
mathieui
ea5615f236
XEP-0084: wrap functions with coroutine_wrapper
2015-02-24 22:46:04 +01:00
mathieui
69da1c1d7c
XEP-0163: wrap publish() with coroutine_wrapper
2015-02-24 22:46:03 +01:00
mathieui
e85fa4203e
XEP-0060: wrap all iq-sending functions with coroutine_wrapper
2015-02-24 22:46:03 +01:00
mathieui
506ca69917
XEP-0030: allow get_info and get_items to return a coroutine
2015-02-24 22:46:03 +01:00
mathieui
8ac0ecdf40
Fix dns resolution without aiodns
...
(use loop.getaddrinfo instead of the blocking version)
2015-02-24 19:17:45 +01:00
mathieui
dbd8115557
Remove the filesocket shim (2.6 compatibility)
2015-02-24 19:08:12 +01:00
mathieui
74b4ea20bf
Add back stanza-specific exception handlers
...
(fixes the test suite too)
2015-02-23 17:43:35 +01:00
mathieui
11fbaa4241
Import xmlstream.asyncio and coroutine_wrapper at the top level
...
Since they will be used quite a lot in plugins.
2015-02-23 17:32:39 +01:00
mathieui
8fd0d7c993
Add a coroutine_wrapper decorator
...
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 17:32:31 +01:00
mathieui
1450d36377
Add a coroutine parameter to iq.send() to return a coroutine
...
(instead of exposing a different send_coroutine method)
2015-02-23 17:20:47 +01:00
mathieui
06358d0665
Use CallbackCoroutine with Iq callbacks too
2015-02-22 20:13:48 +01:00
mathieui
2b3b86e281
Allow event handlers to be coroutine functions
...
And do not copy data when running events with XMLStream.event()
2015-02-22 14:17:17 +01:00
mathieui
92e4bc752a
Add a “blocking” send_coroutine method to the Iq class
2015-02-21 23:45:30 +01:00
mathieui
ffb2e05f21
Check that ciphers have been initialized
...
(if not, python will use the system default)
2015-02-17 04:27:03 +01:00
mathieui
1e2665df19
Update the test suite.
...
- 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 12:23:47 +01:00
mathieui
4d063e287e
Remove more threaded= and block= options from the plugins
...
(also, correct a typo)
2015-02-12 12:21:20 +01:00
mathieui
44f02fb3ab
Do the plugins post_init() upload loading
...
(the top_level boolean used to load them at this point wasn’t ever set
to true)
2015-02-12 12:18:32 +01:00
mathieui
f6b3a0c6cf
Fix the uses of stanza.reply()
...
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 12:17:01 +01:00
mathieui
8b36e918e8
Fix the componentxmpp interface
2015-02-12 12:11:50 +01:00
Sangeeth Saravanaraj
9044807121
Added help for running example..
2015-02-05 18:11:41 +05:30
Sangeeth Saravanaraj
24264d3a07
Updated Example..
2015-02-05 18:10:10 +05:30
Sangeeth Saravanaraj
8bc70264ef
misc updates..
2015-02-05 17:35:04 +05:30
Florent Le Coz
957c635fb7
XMLStream must provide the BaseProtocol interface
2015-02-04 17:49:30 +01:00
mathieui
4027927c6e
Don’t set the msg['from'] and msg['id'] in receipt.ack()
...
setting msg['id'] is wrong, and setting msg['from'] might lead to
echoing back wrong input.
2015-02-04 16:49:39 +01:00
Sangeeth Saravanaraj
c16b862200
Raise http_request and http_response events.
2015-02-03 12:33:25 +05:30
Sangeeth Saravanaraj
a96f608469
Composing request and response.
2015-01-29 08:33:40 +05:30
Sangeeth Saravanaraj
e1f25604ec
Added callbacks, registered stanzas, added features, etc.
2015-01-28 14:52:15 +05:30
Sangeeth Saravanaraj
0fe057b5c3
Boilerplate for Stanzas - request and response
2015-01-27 15:13:57 +05:30
Sangeeth Saravanaraj
be76dda21d
Added xep_0332 to setup
2015-01-23 10:29:21 +05:30
Sangeeth Saravanaraj
ecd124dd06
Boilerplate for xep_0332
2015-01-22 16:40:03 +05:30
Sangeeth Saravanaraj
4a8951c4ee
added xep_0332 to plugins
2015-01-22 16:39:27 +05:30
Sangeeth Saravanaraj
8afba7de85
renamed example for convenience.
2015-01-22 16:38:16 +05:30
Sangeeth Saravanaraj
1ce42d3a2f
Boilerplate example.
2015-01-22 11:30:38 +05:30
Sangeeth Saravanaraj
2f4d811db4
Fixed a typo in docs/guide_xep_0030.rst
2015-01-22 11:13:03 +05:30