Lance Stout
0b7f134021
Add initial XEP-0084 support.
...
It does not auto-retrieve and store avatars yet, but everything is there
to do so.
2012-06-18 22:07:17 -07:00
Lance Stout
378a42889f
Simplify and update XEP-0033 to latest plugin format.
2012-06-18 22:03:03 -07:00
Lance Stout
181aea737d
Add initial support for xml:lang for streams and stanza plugins.
...
Remaining items are suitable default actions for language supporting
interfaces.
2012-06-18 22:00:33 -07:00
Lance Stout
f89df6e70c
Merge branch 'master' into develop
2012-06-13 09:27:47 -07:00
Lance Stout
b92ae706e9
Fix loading cached disco identity data.
2012-06-13 09:13:13 -07:00
Lance Stout
f70b49882f
Fix XEP-0065 imports and naming for Python3.
2012-06-10 14:15:58 -07:00
Lance Stout
a7b092a305
Fix Python3 exception handling.
...
Fixes issue #173
2012-06-09 15:04:27 -07:00
Sandro Munda
8def3758e4
Added the get_socket(sid) method to the xep_0065 plugin to retrieve
...
the socket of the Proxy thread.
2012-06-07 19:36:25 +02:00
Sandro Munda
1851ab6f5f
Added the SID in the socks_recv xmpp event in the xep_0065 plugin.
2012-06-07 19:24:23 +02:00
Sandro Munda
289b052338
Renamed Query to Socks5 in the xep_0065.
...
Renamed the 'q' plugin_attrib of the Socks5 stanza to 'socks'.
2012-06-07 19:14:37 +02:00
Sandro Munda
26147f5ae0
Added a top level field to the xep_0065 class:
...
name = 'xep_0065'
2012-06-07 19:08:20 +02:00
Sandro Munda
ae01f1071a
Fixed the callback names of the xep_0065:
...
In-Band bytestreams -> Socks5 bytestreams
2012-06-07 19:04:24 +02:00
Sandro Munda
dcdf5dcd09
Added the Socksipy module in the thirdparty of SleekXMPP.
...
Updated the LICENSE file with the license of the Socksipy
module (New-BSD).
2012-06-07 19:02:09 +02:00
Sandro Munda
c59a6d0f51
Sent a socks_closed when the socket is closed in the xep_0065 plugin.
2012-06-07 18:38:57 +02:00
Sandro Munda
2cd936318d
Improved the close of the proxy thread (and the socket) in the xep_0065 plugin.
2012-06-07 18:38:57 +02:00
Sandro Munda
2f38857681
Changed the description of the xep_0065 plugin
2012-06-07 18:38:56 +02:00
Sandro Munda
39505ae1ff
The xep_0065 plugin supports now multiple stream (multiple connected
...
sockets).
To send data over a stream, we need to pass the SID in order to
retrieve the good proxy thread (and so, the good socket).
2012-06-07 18:38:56 +02:00
Sandro Munda
44ee0633f2
Renamed the _handle_on_recv to the on_recv method.
...
Renamed requester_thread and target_thread to proxy. The send method is now simpler.
2012-06-07 18:38:56 +02:00
Sandro Munda
b52d2768b0
Added some comments to the get_network_address method
2012-06-07 18:38:56 +02:00
Sandro Munda
cf24b870b1
Registered stanza plugin in the stanza module
2012-06-07 18:38:56 +02:00
Sandro Munda
69cffce7dc
Used the namespace in all stanzas
2012-06-07 18:38:56 +02:00
Sandro Munda
a14979375b
Added a partial support of the XEP 0065 - Socks5 Bytestreams
2012-06-07 18:38:56 +02:00
Lance Stout
db0e683d01
Don't request registration forms unless the register event is handled.
...
Some servers end the stream if registration can not be completed
in-band, which means always requesting the form can prevent regular
login.
2012-06-06 12:23:40 -07:00
Lance Stout
4ded34ebc9
Add MUC events for room configuration changes.
...
New events:
groupchat_config_status
muc::[room JID]::config_status
2012-05-14 16:10:22 -07:00
Lance Stout
97a7be7dfa
Fix loading plugins from custom modules when passing the module itself.
...
Loading plugins from custom modules when passed as a string still works.
2012-05-04 09:51:02 -07:00
Lance Stout
a9acff5294
Collapse initial payload to a single stanza instead of a list if only one stanza is found.
2012-04-30 11:16:10 -07:00
Lance Stout
ad5b61de50
Add full support for initial payloads with adhoc commands, plus test.
2012-04-30 11:07:54 -07:00
Lance Stout
f53b815855
Allow providing initial payload to adhoc commands.
2012-04-30 08:27:10 -07:00
Lance Stout
fd81bab906
Use the correct 'from' jid when requesting vcards for avatars.
2012-04-29 13:33:53 -07:00
Lance Stout
1cf55c14b0
Don't raise errors when receiving an iq error for vcards.
2012-04-29 13:33:30 -07:00
Lance Stout
01189376e2
Add initial support for XEP-0153.
2012-04-09 21:41:59 -04:00
Lance Stout
60195cf2dc
Initial support for XEP-0231.
2012-04-08 23:27:19 -04:00
Lance Stout
d3e8993e22
Fix looking up local and cached vcards.
2012-04-08 16:01:47 -04:00
Lance Stout
8a8926c5e8
Fix errors in caps related to unwrapped disco data and full JIDs.
2012-04-08 16:00:36 -04:00
Lance Stout
f9d0ee824b
Ensure that wrapped disco results retain requesting iq id.
2012-04-08 16:00:07 -04:00
Lance Stout
272ddf9f01
Add nickname element to the XEP-0054 plugin.
2012-04-07 21:16:36 -04:00
Lance Stout
259c84e99a
Add initial XEP-0054 plugin.
2012-04-07 20:50:02 -04:00
Lance Stout
9c61c2882f
Add support for XEP-0027
2012-04-06 15:22:23 -04:00
Lance Stout
e0dd9c3618
Simplify registering API handler defaults.
2012-04-06 15:09:26 -04:00
Lance Stout
4921c44d0a
Don't break test plugins that use None instead of a stream object.
2012-04-06 15:09:26 -04:00
Lance Stout
3161f104c7
Update XEP-0012 plugin to use new api.
2012-04-06 15:09:26 -04:00
Lance Stout
3ee3fdca91
Fix XEP-0115 with the new API registry.
2012-04-06 15:09:26 -04:00
Lance Stout
488f7ed886
Begin experiment with a centralized API callback registry.
...
The API registry generalizes the node handler system from the xep_0030
plugin so that other plugins can use it.
2012-04-06 15:09:25 -04:00
Lance Stout
af13bea2b8
Fix MUC invite events so that they actually work.
2012-04-03 22:41:37 -07:00
Lance Stout
cdf0b353db
Fix memory leak with adhoc command sessions.
...
Fixes issue #155
2012-04-03 11:02:55 -07:00
Lance Stout
dda2473d35
Reset stream management state on session_end.
2012-03-27 23:27:24 -07:00
Lance Stout
9879c7af59
Make the XEP-0198 ack debug message less confusing.
2012-03-27 20:52:31 -07:00
Lance Stout
fa4c52e499
Correct handling of acks for XEP-0198 under heavy load.
2012-03-21 13:00:43 -07:00
Lance Stout
859822ff05
Fix unicode issues in test cases for Py3+ introduced by issue #150 .
2012-03-19 14:24:45 -07:00
Lance Stout
3acc7d0914
Merge pull request #150 from correl/rpc_value_fixes
...
Updated XEP-0009 to handle unicode strings
2012-03-19 14:06:36 -07:00
Lance Stout
73cabcb6ae
Add initial support for XEP-0198 for stream management.
2012-03-18 01:02:19 -07:00
Lance Stout
33d01fb694
Fix requesting receipts on a message that has not been bound to a stream.
2012-03-16 23:42:55 -07:00
Lance Stout
ab2e43d052
Re-add support for special case of 'presence' expiry value.
2012-03-16 23:42:34 -07:00
Lance Stout
eb25998e72
Update subscription event expiry value to use time objects.
2012-03-16 23:16:17 -07:00
Lance Stout
eafd2aee93
Add events for configuration and subscription notifications.
...
New events:
pubsub_config
pubsub_subscription
2012-03-16 23:12:38 -07:00
Lance Stout
a6f3d740a2
Fix error when assigning form values that include booleans.
2012-03-16 22:02:21 -07:00
Lance Stout
19a6f61b44
Fix requiring receipt request messages to have ID values.
2012-03-16 22:01:56 -07:00
Lance Stout
58e0f1e6c3
Expand support for XEP-0184.
...
New stanza interfaces:
Adding a message receipt request:
msg['request_receipt'] = True
Adding a message receipt:
msg['receipt'] = '123-24234'
Retrieving the acked message ID:
ack_id = msg['receipt']
print(ack_id)
'123-24234'
New configuration options:
auto_ack:
If True, auto reply to messages that request receipts.
Defaults to True
auto_request:
If True, auto add receipt requests to appropriate outgoing
messages.
Defaults to False
2012-03-16 10:51:25 -07:00
Lance Stout
5a2cbbb731
Move XEP-0172 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
32d6f85649
Move XEP-0118 to the new system.
2012-03-12 19:32:20 -07:00
Lance Stout
a2b47e5749
Move XEP-0108 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
14d4062f4a
Move XEP-0107 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
67972c5e84
Move XEP-0080 to the new system.
2012-03-12 19:32:20 -07:00
Lance Stout
3467ac18cc
Move XEP-0163 to new system.
...
Also includes new register_pep() method for doing the necessary stanza
and disco registration, plus pubsub node event mapping.
2012-03-12 19:32:20 -07:00
Lance Stout
cabf27424f
Cleanup plugin import logic.
...
Checking for a 'xep' or 'rfc' attribute is more reliable
for detecting an old style plugin than 'name'.
2012-03-12 19:32:20 -07:00
Lance Stout
162e955bd6
Enable using post_init() to resolve circular dependencies.
...
We really shouldn't have any. However, we may later introduce one
with XEP-0030 and XEP-0059.
2012-03-12 19:32:20 -07:00
Lance Stout
57d761b8a2
Move XEP-0115 to the new system.
2012-03-12 19:32:20 -07:00
Lance Stout
8b2023225c
Remove extra logging statement, add backward compatible references.
2012-03-12 19:32:20 -07:00
Lance Stout
f8f2b541db
Handle loading plugins on demand.
...
Plugins that are referenced as dependencies, but have not been
registered now will be imported. Newer plugins should register
themselves automatically, but older style plugins will be
explicitly registered after import.
2012-03-12 19:32:20 -07:00
Lance Stout
610d366bdb
Ensure the adhoc command items node exists.
...
If the plugin is loaded and no commands are defined, we can at least
return a proper empty response instead of an item-not-found error.
2012-03-12 19:32:20 -07:00
Lance Stout
64c46562d3
Move XEP-0249 to the new system.
2012-03-12 19:32:20 -07:00
Lance Stout
87d6ade06d
Move XEP-0224 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
4a009515c1
Move XEP-0203 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
6497857495
Move XEP-0202 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
5a324c01de
Move XEP-0199 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
17279de4a3
Move XEP-0184 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
34a7a62c35
Move XEP-0128 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
2305cc61fd
Move XEP-0092 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
2f677c98f8
Move XEP-0086 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
3fda053606
Move XEP-0085 to the new system.
...
Optimized handlers so that only one is needed.
2012-03-12 19:32:19 -07:00
Lance Stout
6d855ec06c
Move XEP-0082 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
23cc62fe7c
Move XEP-0078 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
26ea67d211
Move XEP-0045 to new system.
...
Still needs updating to the new format.
2012-03-12 19:32:19 -07:00
Lance Stout
d43cd9fa54
Move XEP-0033 to new system.
...
Still needs updating to the new format.
2012-03-12 19:32:19 -07:00
Lance Stout
6f337b5425
Move XEP-0012 to new system.
...
Still needs to update to the current plugin format though.
2012-03-12 19:32:19 -07:00
Lance Stout
d104a5fe75
Move XEP-0009 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
cdd69c6842
Move XEP-0077 to the new system.
2012-03-12 19:32:19 -07:00
Lance Stout
4a3a9067d4
Move XEP-0066 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
1aecb2293a
Move XEP-0060 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
ad8fd91b7a
Move XEP-0050 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
1f5a3a4445
Move XEP-0047 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
be363e0b46
Move XEP-0004 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
a104cd6dae
Tidy up disco plugin.
2012-03-12 19:32:19 -07:00
Lance Stout
e287282782
Moving backwards compatibility shims to __init__ files.
2012-03-12 19:32:07 -07:00
Lance Stout
8b06d10415
Update XEP-0030 and XEP-0059 to new system.
2012-03-12 16:24:18 -07:00
Lance Stout
01b2499915
Introduce new plugin system.
...
The new system is backward compatible and will load older style plugins.
The new plugin framework allows plugins to track their dependencies, and
will auto-enable plugins as needed.
Dependencies are tracked via a class-level set named `dependencies` in
each plugin.
Plugin names are no longer tightly coupled with the plugin class name,
Pso EP8 style class names may be used.
Disabling plugins is now allowed, but ensuring proper cleanup is left to
the plugin implementation.
The use of a `post_init()` method is no longer needed for new style
plugins, but plugins following the old style will still require a
`post_init()` method.
2012-03-12 16:24:18 -07:00
Lance Stout
a318beded4
Update plugin list and use correct names.
2012-03-11 16:34:41 -07:00
Lance Stout
5f4b528e6b
Ensure that result stanzas are returned, as expected.
2012-03-11 16:13:19 -07:00
Lance Stout
f759b0ada1
Add support for XEP-0108: User Activity.
2012-03-11 12:37:54 -07:00
Lance Stout
7d89fa27a8
Expand support of XEP-0172 (user nickname) to include PEP.
2012-03-11 00:22:28 -08:00
Lance Stout
10ec92f7c6
Add support for XEP-0107, User Mood.
2012-03-10 23:32:20 -08:00
Lance Stout
58d2f317a0
Fix plugin loading logs for XEP-0118 and XEP-0163.
2012-03-10 23:31:54 -08:00
Lance Stout
34b094561f
Add support for XEP-0080.
2012-03-10 12:54:31 -08:00
Lance Stout
91155444c0
Resolve plugin dependency chains with XEP-0115.
...
The post_init() system can only reliably handle a single layer
of dependencies between plugins, but PEP plugins with XEP-0115
exceed that limit and plugins can be post_init'ed out of order. To
resolve this, we will special case XEP-0115 to be post_init'ed
first until the new plugin system with dependency tracking is
stable.
2012-03-10 12:48:35 -08:00
Lance Stout
7f71ac7e0a
Add user tune feature to disco, not just notifications.
2012-03-10 10:54:24 -08:00
Lance Stout
e5fc59a4c6
Ensure post init works for XEP-0118.
2012-03-10 10:44:53 -08:00
Lance Stout
549a9ab472
Add support for XEP-0118.
...
See examples/user_tune.py for a demonstration using the currently
playing song in iTunes.
2012-03-10 10:30:32 -08:00
Lance Stout
09720dcf42
Fix XEP-0163's updating of caps.
2012-03-10 10:20:06 -08:00
Lance Stout
ec044affd4
Only auto-broadcast caps changes after a session has started.
2012-03-10 10:19:43 -08:00
Lance Stout
af39945009
Add XEP-0163 plugin.
...
This is just a very simple wrapper for XEP-0030, XEP-0115, and XEP-0060
for adding interests to caps information, and publishing.
2012-03-10 09:23:47 -08:00
Lance Stout
78a50d0237
Add support for pubsub notification events.
...
Publishes, retractions, purges, and deletions now raise the events:
- pubsub_publish
- pubsub_retract
- pubsub_purge
- pubsub_delete
In addition, custom events may be raised based on the node that
generated the notification. For example:
xmpp['xep_0060'].map_node_event('http://jabber.org/protocol/tune ',
'user_tune')
will allow for using the events:
- user_tune_publish
- user_tune_retract
- user_tune_purge
- user_tune_delete
2012-03-10 00:07:56 -08:00
Lance Stout
861d279b08
Correct missing pubsub#event stanzas and interfaces.
2012-03-10 00:07:15 -08:00
Lance Stout
e3d596c9fa
Update XEP-0085 plugin to work with both ElementTree and cElementTree
...
Each state element must have its own stanza class now. A stanza class
with an empty name field causes errors in ElementTree, even though
it works fine with cElementTree.
2012-02-19 20:28:31 -08:00
Lance Stout
afe0d16797
Centralize references to ET to make switching implementations easier.
2012-02-19 20:26:40 -08:00
Lance Stout
977fcc0632
Fix instances of using undefined variables.
2012-02-18 11:56:10 -08:00
Lance Stout
86a482e032
Fix pyflakes complaints for XEP-0115 plugin.
2012-02-17 11:40:51 -08:00
Correl Roush
31d3e3b2b6
Updated XEP-0009 to handle unicode strings
2012-02-17 12:24:44 -05:00
Lance Stout
caa967105c
Add more XEP-0047 tests.
2012-02-03 16:29:38 +01:00
Lance Stout
d565e4be20
Fix XEP-0184 imports
2012-02-03 16:08:27 +01:00
Lance Stout
85dd005abc
Fix infinite callback loop.
2012-02-03 16:03:46 +01:00
Lance Stout
261a501afc
Merge remote-tracking branch 'whooo/master' into develop
2012-02-03 15:23:01 +01:00
Erik Larsson
9a38a101d2
Added fritzy to the copyright for xep_0184
2012-02-03 15:17:01 +01:00
Lance Stout
4665c5cf1a
Fix data stanza based on test results.
2012-02-02 19:19:50 +01:00
Lance Stout
bd52a5e6c1
Initial, mostly working XEP-0047 plugin.
...
This is inspired by the version from macdiesel and tomstrummer, but
their version was heavily linked with XEP-0096 and focused solely
on file transfer. This version is a more generic implementation.
2012-02-02 18:27:23 +01:00
Erik Larsson
2217c69757
Added plugin for XEP-0184
2012-02-02 14:29:27 +01:00
Lance Stout
02f4006153
Add basic start for a client side XEP-0077 plugin.
2012-01-19 02:37:36 -08:00
Lance Stout
b25668b5b7
Fix detecting end of result set paging.
2012-01-18 19:57:49 -08:00
Lance Stout
7b854a190e
Tidy up and update the plugin __init__ file.
2012-01-15 22:51:59 -08:00
Lance Stout
947d1ffbb3
Fix xep_0030 reference warning.
2012-01-14 17:12:39 -08:00
Lance Stout
c0074f95b1
update_caps() can now do presence broadcasting.
...
As part of adding this feature:
- fixed bug in update_caps() not assigning verstrings
- fixed xep_0004 typo
- can now use None as a roster key which will map to boundjid.bare
- fixed using JID objects in disco node handlers
- fixed failing test related to get_roster
Several of these bugs I've fixed before, so I either didn't push them
earlier, or I clobbered something when merging. *shrug*
2012-01-11 16:39:55 -08:00
Lance Stout
8fd2efa2fa
Merge branch 'develop-1.1' into develop
2012-01-05 11:33:47 -05:00
Lance Stout
fb5a6a7d71
Merge pull request #132 from rhcarvalho/master
...
Fix a typo in several files.
2012-01-02 13:10:46 -08:00
Rodolfo Carvalho
7d1c5f4a2b
Fix a typo in several files.
...
This fixes several instances of "intial" for "initial".
2012-01-02 18:59:39 -02:00
Lance Stout
27c658922e
Fix handing caps in Python3, allow update_caps() call before process()
2011-12-31 21:15:40 -05:00
Lance Stout
35954cdc90
Fix a few holes in caps.
...
Protip: Don't test using a custom disco handler that always returns the
same feature set :p
2011-12-31 19:18:00 -05:00
Lance Stout
d817d64c65
Enable caps stream feature.
2011-12-30 22:34:57 -05:00
Lance Stout
8a29ec67ac
Add XEP-0115 plugin.
...
Finally
2011-12-30 21:45:25 -05:00
Lance Stout
6722b0224a
Add option to disable condensing and converting form values.
...
XEP-0115 needs to use the raw XML character data.
2011-12-30 21:43:39 -05:00
Lance Stout
8eb225bdec
Add option for disabling identity and feature deduplication.
...
XEP-0115 requires detecting duplicates, so we can't always silently
ignore them.
2011-12-30 20:53:18 -05:00
Lance Stout
a7df76a275
Add 'supports' and 'has_identity' node handlers.
2011-12-30 20:52:44 -05:00
Lance Stout
efae8f3369
Automatically use local disco based on the JID.
2011-12-30 20:51:41 -05:00
Lance Stout
a11e6c0b77
Be more lenient on required arguments to disco node handlers.
2011-12-30 20:51:02 -05:00
Lance Stout
1bb0b38868
Make the disco logs nicer.
2011-12-30 20:50:15 -05:00
Lance Stout
4df1641689
Add set_info disco handler.
2011-12-28 11:46:13 -05:00
Lance Stout
5ef0b96d5c
Fix caching for clients.
2011-12-28 11:37:05 -05:00
Lance Stout
d979b5f2b9
Add caching support to xep_0030.
...
New plugin configuration options:
use_cache - Enable caching disco info results. Defaults to True
wrap_results - Always return disco results in an Iq stanza. Defaults
to False
Node handler changes:
Handlers now take four arguments: jid, node, ifrom, data
Most older style handlers will still work, depending on if they
raise a TypeError for incorrect number of arguments. Handlers that
used *args may not work.
New get_info options:
cached - Passing cached=True to get_info() will attempt to load
results from the cache. If nothing is found, a query
will be sent as normal. If set to False, the cache
will be skipped, even if it contains results.
New method:
supports() - Given a JID/node pair and a feature, return True
if the feature is supported, False if not, and
None if there was a timeout. By default, the search
will use the cache.
2011-12-28 10:16:31 -05:00
Lance Stout
522f0dac16
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-12-27 18:03:08 -05:00
Correl Roush
e928b9c434
XEP-0009: Updated tests to work in python 3
2011-12-20 21:19:51 -05:00
Lance Stout
fb55d9e9d1
Add comma to fix pubsub error conditions.
...
Fixes issue #127
2011-12-20 12:30:35 -05:00
Correl Roush
6c58b8cc4b
XEP-0009: Updated RPC value conversion code
...
Updated the XML-RPC value conversion to correctly apply namespaces, and
fixed an error uncovered by the tests in the XML -> Python conversion of
dateTime values.
2011-12-20 02:03:06 -05:00
Correl Roush
9950208d06
Fixes Issue #123 : Corrected boolean xml to python conversion
2011-12-16 17:41:16 +00:00
Correl Roush
c98a22e065
Fixed Issue 93: ACL.check jid parameter should be a string value
2011-12-15 21:58:33 +00:00
Lance Stout
d496417deb
Allow XEP-0082 to return datetime objects without having to format and reparse.
2011-12-15 12:02:08 -08:00
Lance Stout
116bb6e1b9
Use OrderedDicts instead of regular dictionaries when returning values from forms.
2011-12-13 09:00:45 -08:00
Lance Stout
9c6dde5d22
Ensure that item fields have the proper type.
...
The item fields were not setting their type based on the reported
field's type attribute, so values were not being encoded properly.
Fixes issue #121
2011-12-13 08:59:39 -08:00
Lance Stout
fc8a13df5a
Allow disco info/items handlers to return full Iq stanzas.
...
Only allowing handlers to return a DiscoInfo/DiscoItem stanza works
for the majority of cases, but does not allow for the addition of
an RSM stanza, or other extensions.
An Iq stanza returned by a handler must already be configured as
a reply.
2011-12-12 19:38:32 -08:00
Lance Stout
85e9042db6
Pass the Iq stanza to disco item handlers.
2011-12-12 16:34:24 -08:00
Lance Stout
16c72e8efd
Use UTC for xep_0082.date.
2011-12-09 23:59:33 -08:00
Lance Stout
b7b53362e1
Ensure that adhoc command clients have form plugin registered.
...
The form plugin was being registered on first use for providers,
but not for clients receiving the form.
NOTE: Use of non-form payloads will have this issue - adhoc command
clients will need to have an expectation beforehand of what
the command payload will be to properly load stanza plugins.
2011-12-04 01:24:35 -08:00
Lance Stout
429c94d6a9
Tidy up logging calls.
2011-11-19 12:07:57 -08:00
Vijay Pandurangan
deb52ad350
This change stops sleekxmpp from spending huge amounts of time unnecessarily computing logging data that may never be used. This is a HUGE performance improvement; in some of my test runs, unnecessary string creation was accounting for > 60% of all CPU time.
...
Note that using % in a string will _always_ perform the sting substitutions, because the strings are constructed before the function is called. So log.debug('%s' % expensiveoperation()) will take about the same CPU time whether or not the logging level is DEBUG or INFO. if you use , no substitutions are performed unless the string is actually logged
2011-11-20 03:39:05 +08:00
Lance Stout
4374729f20
Update the docs for XEP-0060 publish method.
2011-10-11 20:37:50 -04:00
Lance Stout
87999333cb
Fix MUC methods to optionally specify the sending JID.
...
Should fix issue #107
2011-10-10 11:31:03 -04:00
Lance Stout
3e384d3cfe
XEP-0009 will likely be updated to use <base64 /> instead of <Base64 />
...
Both are supported when reading, but <base64 /> will be used for output.
2011-10-05 12:09:50 -04:00
Lance Stout
e33949c397
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-10-04 10:37:42 -04:00
Lance Stout
eccac859ad
Fix missing import statement.
...
Fixes issue #105
2011-10-04 10:36:52 -04:00
Correl Roush
3607c5b792
Make RPC events threaded
...
Allows, for example, an RPC service to make remote RPC calls with its
own connection without blocking its own thread waiting for the result.
2011-10-03 14:32:48 -04:00
Lance Stout
1765271f84
Make get_node_config block by default.
2011-09-02 11:52:56 -07:00
Nathan Fritz
20cacc84ba
remove ping schedule on disconnect
2011-09-01 15:51:43 -07:00
Lance Stout
24a14a0284
Mark pubsub state stanzas as non-standard.
2011-09-01 15:29:05 -07:00
Lance Stout
efa4a9b330
More stanza cleanup for pubsub.
2011-09-01 14:20:58 -07:00
Lance Stout
39ec1cff19
Some more minor cleanup.
2011-09-01 14:03:11 -07:00
Lance Stout
24c5f8d374
Clean up pubsub#event stanzas.
2011-09-01 14:01:58 -07:00
Lance Stout
d6b0158ddb
Clean up pubsub#owner stanzas.
2011-09-01 13:47:55 -07:00
Lance Stout
7e5e9542e9
Add support for notify attribute when retracting an item.
2011-09-01 13:36:11 -07:00
Lance Stout
d7fc2aaa9c
Add ability to get global/node default subscription options.
2011-09-01 13:25:35 -07:00
Lance Stout
8471a485d1
Clean up pubsub stanzas.
2011-09-01 13:12:26 -07:00
Lance Stout
462b375c8f
Owners can modify subscriptions/affiliations. With tests.
...
94% coverage for the main pubsub plugin! (91% including stanzas)
2011-09-01 12:09:24 -07:00
Lance Stout
afbd506cfc
Users can retrieve their affiliations now, with tests.
2011-09-01 11:30:55 -07:00
Lance Stout
ec01e45ed1
Add ability for a user to get retrieve subscriptions, with tests.
2011-09-01 11:19:25 -07:00
Lance Stout
993829b23f
Add tests for pubsub subscription options.
2011-09-01 10:44:14 -07:00
Lance Stout
002257b820
Add tests for retrieving pubsub items.
2011-09-01 09:27:10 -07:00
Lance Stout
76bc0a2ba6
XEP-0060 v1.13 dictates publishing/retracting one item at a time.
2011-08-31 23:48:22 -07:00
Lance Stout
3f9ca0366b
Add test for purging a pubsub node.
2011-08-31 21:09:25 -07:00
Lance Stout
b68785e19e
Retract stanzas are behaving oddly when using stanza values.
2011-08-31 16:03:32 -07:00
Lance Stout
46f23f7348
Test publishng an item with options.
2011-08-31 14:55:37 -07:00
Lance Stout
09252baa71
Test publishing a single item.
2011-08-31 14:31:20 -07:00
Lance Stout
3623a7a16a
More pubsub unit tests!
2011-08-31 14:05:29 -07:00
Lance Stout
cc504ab07c
Fix pubsub get_items.
...
- item_ids checked for None
- pubsub node is set
2011-08-31 10:56:43 -07:00
Lance Stout
2500a0649b
Fix requesting pubsub node configuration, and add tests.
...
- <default /> doesn't have a type attribute in the XEP
- <configure /> isn't used anymore for requesting default configuration
2011-08-31 10:43:33 -07:00
Lance Stout
5ec4e4a026
Added pubsub error stanza.
...
iq['error']['pubsub']['condition']
iq['error']['pubsub']['unsupported']
2011-08-31 00:42:37 -07:00
Lance Stout
628978fc8c
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-30 23:11:11 -07:00
Nathan Fritz
7fb9d68714
fixed form accessors in pubsub stanzas
2011-08-30 23:10:13 -07:00
Lance Stout
e0a1c477d0
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-30 23:03:51 -07:00
Nathan Fritz
b70565720f
fixed test further... but now I have an out of order problem
2011-08-30 23:03:04 -07:00
Lance Stout
33ac0c9dd6
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-30 22:45:08 -07:00
Nathan Fritz
4699bdff60
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-30 22:44:34 -07:00
Nathan Fritz
354641a3ce
added publish-options element
2011-08-30 22:44:19 -07:00
Lance Stout
58a43e40c7
Get/set pubsub subscription options.
2011-08-30 22:27:21 -07:00
Lance Stout
13fdab0139
Test and fix XEP-0060 delete_node()
2011-08-30 21:57:11 -07:00
Lance Stout
2ce617b2ce
Fix typo
2011-08-30 09:24:46 -07:00
Lance Stout
63e0496c30
Finish up all major actions in the current XEP-0060.
...
Still need tests and docs.
2011-08-29 23:05:14 -07:00
Lance Stout
850e3bb99b
Stub out missing functionality for pubsub
2011-08-29 21:38:41 -07:00
Lance Stout
2d90deb96a
The ifrom parameter doesn't need special treatment.
2011-08-26 22:06:32 -07:00
Lance Stout
3fb3f63e51
Add docs + extended Iq send arguments to pubsub methods.
2011-08-26 16:57:37 -07:00
Lance Stout
d12949ff1c
Fix typos in XEP-0060, start of docs and tests.
2011-08-26 12:14:57 -07:00
Lance Stout
004eabf809
Update plugins that use Iq stanzas to work with new exceptions.
2011-08-17 21:30:47 -07:00
Lance Stout
62230fc970
Return '' instead of None from form fields with no values.
2011-08-17 21:22:03 -07:00
Lance Stout
331db30f8f
Add form.field back in for backwards compatibility.
2011-08-13 08:34:23 -07:00
Lance Stout
017d7ec62b
Add tests for setting a form's type to 'submit' or 'cancel'.
...
Form fields now remember their current type if the type is deleted. This
allows for fields to properly format their values if set after the form
has been changed to the 'submit' type.
2011-08-13 01:28:18 -07:00
Lance Stout
c26b716164
Update XEP-0050 to use new IQ exceptions.
...
IqError is now caught and forwarded to the command error handler referenced
in the session.
Errors are now caught and processed by the session's error handler
whether or not the results Iq stanza includes the <command> substanza.
Added the option for blocking command calls. The blocking option is set
during start_command with block=True. Subsequent command flow methods use
session['block'] to determine their blocking behaviour.
If you use blocking commands, then you will need to wrap your command calls
in a try/except block for IqTimeout exceptions.
2011-08-13 00:10:06 -07:00
Nathan Fritz
8f1d0e7a79
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-12 16:36:03 -07:00
Nathan Fritz
88184ff955
fixed indenting and merged in exceptions branch
2011-08-12 16:35:36 -07:00
Nathan Fritz
0050c51124
updated pubsub plugin to use stanzas
2011-08-12 16:32:09 -07:00
Lance Stout
9b7ed73f95
Reorganize XEP-0004.
...
Changes:
May now use underscored method names
form.field is replaced by form['fields']
form.get_fields no longer accepts use_dict parameter, it always
returns an OrderedDict now
form.set_fields will accept either an OrderedDict, or a list
of (var, dict) tuples as before.
Setting the form type to 'submit' will remove extra meta data
from the form fields, leaving just the 'var' and 'value'
Setting the form type to 'cancel' will remove all fields.
2011-08-11 21:59:55 -07:00
Lance Stout
156b3200e3
Don't include ping stanza in the ping result.
2011-08-10 09:05:43 -07:00
Lance Stout
75f23d1130
Fix XEP-0078 using the new stream feature workflow.
...
Honestly, this is mainly just a demo/proof of concept that we
can handle dependencies and ordering issues with stream features.
DON'T use XEP-0078 if you are able to use the normal SASL method,
which should be the case unless you are dealing with a very old
XMPP server implementation.
2011-08-06 12:30:56 -07:00
Lance Stout
47bc50d9fb
Cosmetic PEP8 fixes.
2011-08-04 22:37:22 -07:00
Lance Stout
93a4a3f8a0
Fix Python3 issue with dict.has_key()
2011-08-04 22:36:23 -07:00
Lance Stout
6c8a135612
Fix imports using __all__.
2011-08-04 21:49:15 -07:00
Lance Stout
4d8933abdf
Actually, we can work around needing dateutil.
...
If dateutil is present, we'll use that. If not, we'll use
some regexes from the fixed_datetime module.
2011-08-04 20:22:07 -07:00
Lance Stout
6eac0606cf
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-04 19:07:04 -07:00
Lance Stout
7cd39a6aad
Fix imports for xep_0060
2011-08-04 11:38:14 -07:00
Lance Stout
a0767f6af6
Sadly, dateutil is not actually part of the standard lib.
...
Thus, using the XEP-0082 and XEP-0202 introduces a dependency
on the dateutil package (installable using pip install python-dateutil).
Maybe we'll be able to rework how these plugins work to avoid
needing dateutil, but for now this will have to do.
2011-08-04 00:07:30 -07:00
Nathan Fritz
9ffdba8643
the great xep_0060 re-organization in preperation for rewrite
2011-08-03 23:56:24 -07:00
Lance Stout
9591cd3a7e
Merge branch 'stream_features' into develop
2011-08-03 18:35:01 -07:00
Nathan Fritz
db92fa2330
started transition to xep_0060 rewrite
2011-08-03 18:11:00 -07:00
Lance Stout
3918ddb075
Merge branch 'develop' into stream_features
2011-08-03 17:02:33 -07:00
Lance Stout
1d22a04721
Added support for custom OOB transfer handlers.
...
Accepting download requests can be done using:
self['xep_0066'].register_url_handler(handler=self.oob_download)
# Add jid=... to specify a handler for a particular JID for a
# componenent.
def oob_download(self, iq):
if iq['from'] not in self.custom_oob_whitelist:
raise XMPPError('not-authorized')
try:
data = urllib2.urlopen(iq['oob_transfer']['url'])
file = open('oob_download', 'w+')
file.write(data.read())
file.close()
data.close()
except:
raise XMPPError('item-not-found')
2011-07-05 09:22:17 -07:00
Lance Stout
cccccdcc0a
Add logging to XEP-0066.
2011-07-03 20:39:03 -07:00
Lance Stout
8d384ce44f
Added XEP-0224 Attention plugin.
2011-07-03 20:37:21 -07:00
Lance Stout
4d6e7c7dbb
Update version number to beta6.
...
XEP-0092 now uses sleekxmpp.__version__ as a default version number.
2011-07-03 15:47:12 -07:00
Lance Stout
9c5885c6b6
Let XEP-0202 specify the local timezone offset in the config.
2011-07-03 15:41:22 -07:00
Lance Stout
ec3a14e6d9
Updated XEP-0202 plugin to new format and use XEP-0082.
2011-07-03 15:30:06 -07:00
Lance Stout
c98f5d4450
Fix some bugs in time handling.
...
Namely, minutes and seconds were reversed.
2011-07-03 13:41:15 -07:00
Lance Stout
2e8e542bc9
Added XEP-0203 Delayed Delivery plugin.
2011-07-03 12:43:34 -07:00
Lance Stout
7ccc67c06d
Added XEP-0082 plugin.
...
This should make things much easier for any stanza that uses timestamps.
2011-07-03 12:21:47 -07:00
Lance Stout
9a6eb333e6
Merge branch 'develop' into stream_features
2011-07-03 00:38:22 -07:00
Lance Stout
086bf89d69
Added XEP-0066: Out-of-Band Data
2011-07-03 00:36:36 -07:00
Lance Stout
754ac5092a
Reorganize features into plugins.
2011-06-30 15:40:22 -07:00
Nathan Fritz
e2d18170b0
old xep_0050 plugin is now loadable
2011-06-10 04:14:01 +00:00
Lance Stout
e219c0f976
Added session_end event and some docs.
...
For now, session_end is the same as disconnected, but once support is
added later for stream management, the two events will become distinct.
Plugins should add handlers for session_end for cleaning any session
state.
2011-06-08 10:24:25 -07:00
Lance Stout
4266ee0fa4
Fix XEP-0050 issue with Unicode string type checking.
2011-06-08 10:00:28 -07:00
Nathan Fritz
016aac69f6
Pubsub/Unsubscribe was not getting registered
2011-04-14 17:35:20 -07:00
Lance Stout
d94811d81d
Added new implementation for XEP-0086.
2011-03-24 13:14:26 -04:00
Lance Stout
a3d111be12
Added new XEP-0050 implementation.
...
Backward incompatibility alert!
Please see examples/adhoc_provider.py for how to use the new
plugin implementation, or the test examples in the files
tests/test_stream_xep_0050.py and tests/test_stanza_xep_0050.py.
Major changes:
- May now have zero-step commands. Useful if a command is
intended to be a dynamic status report that doesn't
require any user input.
- May use payloads other than data forms, such as a
completely custom stanza type.
- May include multiple payload items, such as multiple
data forms, or a form and a custom stanza type.
- Includes a command user API for calling adhoc commands
on remote agents and managing the workflow.
- Added support for note elements.
Todo:
- Add prev action support.
You may use register_plugin('old_0050') to continue using the
previous XEP-0050 implementation.
2011-03-24 09:35:36 -04:00
Lance Stout
feb7f892ea
Fix typo.
2011-03-23 19:00:20 -04:00
Lance Stout
833f95b53a
Cleaned XEP-0249 plugin, added tests.
2011-03-23 10:00:32 -04:00
Lance Stout
4b1fadde4b
Updated XEP-0128 plugin to work with the new XEP-0030 plugin.
...
Required fixing a few bugs in StanzaBase related to iterable
substanzas.
2011-03-22 20:42:43 -04:00
Lance Stout
450c313340
Fix error in stanza handler registration in XEP-0092.
2011-03-18 17:30:29 -04:00