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
Florent Le Coz
5635265203
Avoid infinite loop on version result
...
We need to check if type="get". otherwise we will send our version
when we will receive the version of the remote entity, and thus
going in an infinite loop.
2011-03-16 06:45:06 +08:00
Lance Stout
45ccb31356
Remove the occasional warning about XEP-0059 not loaded.
2011-02-24 16:13:44 -05:00
Lance Stout
1a81b2f464
Add tests for XEP-0085, fix some bugs.
2011-02-24 14:15:02 -05:00
Lance Stout
77251452c1
Updated the XEP-0085 plugin.
...
Can now be used as so:
>>> msg['chat_state']
''
>>> msg
<message />
>>> msg['chat_state'] = 'paused'
>>> msg
<message>
<paused xmlns="http://jabber.org/protocol/chatstates " />
</message>
>>> msg['chat_state']
'paused'
>>> del msg['chat_state']
>>> msg
<message />
2011-02-24 12:10:29 -05:00
Nathan Fritz
2e2e16e281
fixes to ping: auto-ping off by default, fixed ping-time of zero bug, fixed class name mismatch
2011-02-15 15:24:58 -08:00
Lance Stout
75584d7ad7
Remap old method names in a better way.
...
This should prevent some reference cycles that will cause garbage
collection issues.
2011-02-14 13:49:43 -05:00
Lance Stout
c4b1212c44
Updated XEP-0199 plugin.
...
Now has docs and uses the new plugin format.
2011-02-11 00:30:45 -05:00
Nathan Fritz
3463bf46c6
added option to return false on ping error, added ping example
2011-02-10 13:45:35 -08:00
Lance Stout
13a01beb07
Fix same error for get_info default behaviour.
2011-02-09 09:12:44 -05:00
Lance Stout
145f577bde
Fix get_items default behaviour.
2011-02-09 08:58:00 -05:00
Florent Le Coz
72ead3d598
Replace the print statement by a log.debug call
...
This print syntax is deprecated in python3, so
the plugin was working only with python2
2011-02-09 10:02:14 +08:00
Florent Le Coz
4b71fba64c
Fix the xep_0009 import (no more relatives)
...
Also, remove trailing spaces in all files
of this plugin
2011-02-09 10:02:14 +08:00
Stefan de Konink
1ed06bebcd
This fixes the configuration stuff, because type is form not submit with setNodeConfiguration.
2011-02-07 23:55:46 +08:00
Lance Stout
aa1996eba6
Fixed failing tests from new XEP-0009 plugin
2011-02-07 10:18:15 -05:00
Nathan Fritz
683f717cf7
fixed merge
2011-02-05 04:54:52 -08:00
Lance Stout
5313338c3a
Fixes for XEP-0202
2011-01-31 15:40:00 -05:00
Florent Le Coz
b4004cd4d6
xep_0045: fix the 'to' value when configuring room
2011-01-27 09:34:32 +08:00
Lance Stout
0c8a8314b2
Cleanup for stanzabase.
...
Use stanza.values instead of _get/set_stanza_values where used.
ElementBase stanzas can now use .tag
May use class method tag_name() for stanza classes.
ElementBase now has .clear() method.
2011-01-26 11:27:41 -05:00
Stefan de Konink
c3be6ea0b2
My hunch is that these should also be updated.
2011-01-23 02:08:29 +08:00
Lance Stout
acc2d071ac
Fix disco add_item.
...
If no JID is specified for the item, use xmpp.boundjid.full.
2011-01-19 17:27:53 -05:00
Lance Stout
f1db2fc156
Fix error in disco add_item.
...
None values were not being treated properly.
2011-01-19 12:08:28 -05:00
Lance Stout
a2891d7608
Fix how disco plugin looks up info and items for clients.
2011-01-15 10:08:35 -05:00
Dann Martens
4be6482ff3
Fixed 'nil' bug in unmarshalling.
2011-01-13 13:42:01 +01:00
Dann Martens
0a3a7b5a70
Removed binding XML namespace experiments.
2011-01-13 11:37:58 +01:00
Dann Martens
3a12cdbd13
Introduced new XEP-0009 into develop.
2011-01-13 08:40:53 +01:00
Lance Stout
7d93d1824b
Fix setup.py and old_0004.py typo bugs.
2011-01-12 12:22:48 -05:00
Te-je Rodgers
fe3f8dde4b
added plugin for xep-0249
2011-01-11 04:11:05 +08:00
Lance Stout
acdf9e2d22
Need to run post_init properly.
2011-01-09 10:03:32 -05:00
Lance Stout
2076d506b4
Update the XEP-0092 plugin to the new style.
2011-01-08 22:38:13 -05:00
Florent Le Coz
68ce47c905
Allow XEP 0092 to send os information
...
Doesn't send these information by default, only if provided in the
config dict (as the 'os' key)
2011-01-09 10:08:44 +08:00
Lance Stout
7c7fa0f008
Add support for XEP-0059 to XEP-0030 plugin.
2011-01-08 11:19:31 -05:00
Lance Stout
a8e3657487
Added new XEP-0059 plugin.
...
Contributed by Erik Reuterborg Larsson (who).
2011-01-08 10:58:47 -05:00
Lance Stout
8b29431cde
More clarification in docs for XEP-0030 plugin.
2011-01-04 19:39:10 -05:00
Lance Stout
4b145958fa
Clarify docs for disco.get_info.
2011-01-04 18:38:21 -05:00
Lance Stout
8749f5e09b
Make the new XEP-30 plugin retain older API signatures.
2010-12-28 15:43:00 -05:00
Lance Stout
f97f6e5985
More documentation for XEP-0030 plugin.
2010-12-21 11:33:03 -05:00
Lance Stout
53a5026301
Almost done with xep-30; added more docs.
2010-12-16 23:52:17 -05:00
Lance Stout
0ea014fe41
Updated the list of plugins in sleekxmpp.plugins.__init__
2010-12-16 18:29:56 -05:00
Lance Stout
62b190d0ff
Fixed specifying 'from' values in XEP-0045 plugin.
...
Methods now accept either an ifrom or mfrom parameter
to specify a 'from' value. Client connections should not
need to use these, but component connections must use them.
2010-12-16 18:14:33 -05:00
Lance Stout
988a90a176
Added MUC invite handler to XEP-0045 plugin.
...
Originally contributed by damium/romeira, with some
modifications.
Also, converted tabs to spaces to prepare for future cleanup.
2010-12-16 16:18:49 -05:00
Lance Stout
67775fb8bd
Use boundjid in plugins instead of the deprecated accessors.
...
Originally contributed by skinkie, with a few modifications.
2010-12-16 15:38:00 -05:00
Lance Stout
e81683beee
Some Python 3.1+ compatibility fixes.
...
Originally contributed by filipegiusti.
2010-12-16 15:29:17 -05:00
Lance Stout
1ebc7f4d4b
Implement a few more static node handlers.
2010-12-15 19:22:21 -05:00
Lance Stout
2c5b77ae2e
And some more docs.
2010-12-15 18:57:45 -05:00
Lance Stout
d8aae88526
The documentation effort continues.
...
Also, need to start working on a replacement for the XEP-30 page in the
wiki since the API has changed significantly.
2010-12-15 17:58:15 -05:00
Lance Stout
2f4bdfee1b
Update some docs.
2010-12-13 15:58:59 -05:00
Lance Stout
f4451fe6b7
First pass at a new XEP-0030 plugin.
...
Now with dynamic node handling goodness.
Some things are not quite working yet, in particular:
set_items
set_info
set_identities
set_features
And still need more unit tests to round things out.
2010-12-09 18:57:27 -05:00
Lance Stout
8ead33fc3b
Fixed typo
2010-11-18 16:23:18 -05:00
Lance Stout
ab25301953
Adding stream tests for XEP-0030.
...
Fixed some errors when responding to disco requests.
2010-11-18 15:50:45 -05:00
Lance Stout
291b118aca
XEP-0030 bug fixes.
2010-11-18 11:22:11 -05:00
Lance Stout
db7fb10e95
Add rename_node method to disco plugin.
2010-11-18 01:15:34 -05:00
Nathan Fritz
b8f40eb843
xep_0199 ping now uses scheduler instead of dedicated thread
2010-11-16 17:43:05 -08:00
Florent Le Coz
b73a859031
Add a groupchat_subject event
...
Use this event to get notified of the subject changes (or to get the
subject of the room when joining one)
2010-11-10 05:54:22 +08:00
Lance Stout
4fb77ac878
Logging no longer uses root logger.
...
Each module should now log into its own logger.
2010-11-06 01:28:59 -04:00
Lance Stout
d0c506f930
Simplified SleekTest.
...
* check_stanza does not require stanza_class parameter. Introspection!
* check_message, check_iq, and check_presence removed -- use check
instead.
* stream_send_stanza, stream_send_message, stream_send_iq, and
stream_send_presence removed -- use send instead.
* Use recv instead of recv_message, recv_presence, etc.
* check_jid instead of check_JID
* stream_start may accept multi=True to return a new SleekTest instance
for testing multiple streams at once.
2010-11-05 21:18:48 -04:00
Nathan Fritz
38c2f51f83
fixed indent errors
2010-11-04 11:39:41 -07:00
Lance Stout
1bf34caa5b
Fixes for XEP-0199 plugin.
...
Quick fixes to get the XEP-0199 plugin working until a proper cleanup is
done.
2010-11-03 14:04:18 -04:00
Lance Stout
5769935720
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2010-11-03 12:39:44 -04:00
Lance Stout
ffc6f031d9
Updated namespaced used in the XEP-0199 plugin.
2010-11-03 12:37:26 -04:00
Lance Stout
9e248bb852
Fix bug in XEP-0030 plugin.
...
xep_0030 still referenced event_handlers. Added the method event_handled
which will return the number of registered handlers for an event to
resolve the issue.
2010-10-31 18:27:52 -04:00
Lance Stout
b888610525
Added XEP-202 Entity Time plugin.
...
Contributed by Cesar Alcalde.
2010-10-25 21:26:25 -04:00
Lance Stout
6d68706326
Added XEP-0012 Last Activity plugin.
...
Contributed by Cesar Alcalde.
2010-10-25 20:37:02 -04:00
Nathan Fritz
c4699b92e6
pep8 fixes on core library
2010-10-20 19:43:53 -07:00
Florent Le Coz
3625573c7d
Default history is 0
2010-10-17 09:01:53 +08:00
Florent Le Coz
d9e7f555e6
MUC leave message and MUC history request
...
It is now possible to ask for "any number of history stanzas" when
joining a muc (with history=None).
Also we use "maxchars" when asking NO history ("0") since it's a MUST in
the XEP.
And you can specify a message when leaving a MUC.
2010-10-17 09:01:52 +08:00
Nathan Fritz
0d0b963fe5
fixed socket name collision in xmlstream.py and fixed python 3.x compatibility
2010-10-14 10:58:07 -07:00
Lance Stout
433c147627
Fixed typo in XEP-0033 plugin.
2010-10-01 21:25:27 -04:00
Nathan Fritz
c258d2f19d
added room events for specific rooms, added buildForm to xep_0004 plugin
2010-09-23 00:51:23 +00:00
fritzy
6dfea828be
xep-0004 merge should deal with dictionaries
2010-08-31 14:44:24 +00:00
fritzy
f4ecf0bac4
fixed a but in stanza_pubsub
2010-08-22 06:08:48 +00:00
fritzy
345656926e
added form compatibility with old api, stanzas now bool() to True on 2.x, jid attributes will return '' if not set
2010-08-21 22:48:43 +00:00
Nathan Fritz
eb9e72fe3e
added some xep-0004 compatibility changes
2010-08-19 19:53:56 -07:00
Nathan Fritz
d150b35464
fixed todo merge
2010-08-19 16:09:47 -07:00
Nathan Fritz
21b7109c06
fixed jobs
2010-08-19 16:09:00 -07:00
Lance Stout
c8989c04f3
Replaced traceback calls to use logging.exception where applicable.
2010-07-26 21:02:25 -04:00
Lance Stout
75afefb5c6
Upated xep_0045 to use old_0004 for now.
2010-07-20 13:23:35 -04:00
Lance Stout
b67b930596
Updated xep_0050 to use old_0004 for now.
2010-07-20 12:27:22 -04:00
Lance Stout
7ad0143687
Updated pubsub stanzas to use xep_0004 stanza objects, and updated tests to match.
2010-07-20 12:18:38 -04:00
Lance Stout
de24e9ed45
Lots of XEP-0004 bug fixes.
...
Forms have default type of 'form'
setFields now uses a list of tuples instead of a dictionary because ordering is important.
getFields defaults to returning a list of tuples, but the use_dict parameter can change that
2010-07-20 12:16:57 -04:00
Lance Stout
690eaf8d3c
Updated license notices to use the correct MIT format. Also corrected references to nonexistant license.txt to LICENSE.
2010-07-20 11:19:49 -04:00
Lance Stout
9ca4bba2de
Update XEP-0128 to use new xep_0004
2010-07-20 00:34:24 -04:00
Lance Stout
b5a14a0190
Can now pass a name to add_handler so that the handler can be reliably removed later.
...
Updated uses of add_handler to include a name.
2010-07-19 19:19:33 -04:00
Nathan Fritz
fec8578cf6
stanza should not have setValues/getValues because that conflicts with attribute accessors
2010-07-19 15:38:48 -07:00
Nathan Fritz
130a148d34
added fromXML/getXML compatiblity to the new xep-0004 w/ deprecated warnings
2010-07-19 13:53:41 -07:00
Nathan Fritz
16104b6e56
made Lance's new XEP-4 stanzas the default, and put xep-0004 as old_0004
2010-07-19 13:36:28 -07:00
Lance Stout
d5e42ac0e7
Condensed all of the stanzaPlugin functions into a single registerStanzaPlugin function.
...
Updated plugins and tests to use new function.
2010-07-19 13:58:53 -04:00
Lance Stout
e6bec8681e
Added implementation for XEP-0128 Service Discovery Extensions.
...
Uses the alt_0004 plugin for jabber❌ data stanza objects.
2010-07-19 04:22:31 -04:00
Lance Stout
48f0843ace
Added initial stanza object version of the xep_0004 plugin. Items/reported elements still need to be unit tested
2010-07-14 11:59:58 -04:00
Lance Stout
b1c997be1d
Reworked the Gmail notification plugin to use stanza objects and expose more information.
2010-07-11 22:01:51 -04:00
Lance Stout
d0cb400c54
Fixed tabs to please tab nanny.
2010-07-11 21:43:51 -04:00
Lance Stout
37ada49802
Fixed indentation to please tab nanny during unit tests.
2010-06-27 17:39:16 -04:00
Lance Stout
059cc9ccc4
Fixed several errors in xep_0033 plugin.
...
The method getAddresses was removing addresses by mistake.
Several instances of using self.attrib instead of self.xml.attrib.
2010-06-27 17:32:16 -04:00
Lance Stout
309c9e74eb
Fixed error in setState() method.
2010-06-27 16:34:48 -04:00
Lance Stout
6041cd1952
Fixed typo
2010-06-27 16:33:59 -04:00
Lance Stout
acb53ba371
Fixed tab and spacing issue to please the Tab Nanny during unit tests.
2010-06-27 10:14:21 -04:00
Lance Stout
646a609c0b
Added plugin and tests for XEP-0033, Extended Stanza Addresses.
...
XEP-0033 can be useful for interacting with XMPP<->Email gateways.
2010-06-22 23:22:50 -04:00
Lance Stout
e700a54d11
Return result of iq.send() for disco requests. Events are still triggered, but now the caller can determine if there was a timeout.
2010-06-02 15:59:10 -04:00
Lance Stout
6469cdb4ca
Merge branch 'develop' of git://github.com/fritzy/SleekXMPP into develop
2010-06-02 15:57:18 -04:00
Lance stout
01e8040a07
Added additional parameter to xep_0030's getInfo and getItems methods.
...
By using dfrom, a server component may send disco requests using any of its JIDS.
2010-06-01 10:51:03 -04:00
Nathan Fritz
aa916c9ac8
included jobs plugin
2010-05-31 13:57:39 -07:00
Lance stout
332eea3b3b
Make sure that the node is alway set in disco responses.
2010-05-31 13:35:15 -04:00
Lance stout
109af1b1b6
Merge branch 'xep_0085' into develop
2010-05-31 13:31:11 -04:00
Lance stout
629f6e76a9
Added implementation and tests for XEP-0085 - Chat State Notifications.
...
Chat states may be set using:
msg['chat_state'].active()
msg['chat_state'].composing()
msg['chat_state'].gone()
msg['chat_state'].inactive()
msg['chat_state'].paused()
Checking a chat state can be done with either:
msg['chat_state'].getState()
msg['chat_state'].name
When a message with a chat state is receieved, the following events
may occur:
chatstate_active
chatstate_composing
chatstate_gone
chatstate_inactive
chatstate_paused
where the event data is the message stanza. Note that currently these
events are also triggered for messages sent by SleekXMPP, not just those
received.
2010-05-31 13:24:14 -04:00
Nathan Fritz
82a3918aa4
Scheduler waits too longer, and pubsubstate registration was backwards
2010-05-31 03:36:25 -07:00
Lance stout
4f864a07f5
Touched up the style of creating an Iq stanza.
2010-05-31 05:30:49 +08:00
Lance Stout
fd573880eb
Updated the XEP-0030 plugin to work with stanza objects instead of manipulating XML directly.
...
Four new events have been added:
disco_info - A disco#info result has been received
disco_info_request - A disco#info request has been received
disco_items - A disco#items result has been received
disco_items_request - A disco#items request has been received
For disco_info_request and disco_items_request two default handlers are registered. These handlers will only run if they are the only handler for these two events so that multiple responses are not returned and cause errors.
In your own handlers for these two events, you can call the default handlers to preserve the static node behaviour as so:
self.plugin['xep_0030'].handle_disco_info(iq, True)
The forwarded=True will disable the check for other registered handlers.
Agents can now dynamically respond to disco requests by using these events.
(cherry picked from commit 0fc3381492a8bd75e6a9858539a972334881d8ff)
2010-05-31 05:30:45 +08:00
Nathan Fritz
3a28f9e5d2
added pubsub state stanzas and scheduled events
2010-05-27 04:58:57 -07:00
Nathan Fritz
f4bc9d9722
plugins now are checked for post_init having ran when process() is called
2010-05-26 10:51:51 -07:00
Hernan E Grecco
f18c790824
Fixed error registering a plugin. To add a feature to another plugin, it should look into xmpp.plugin dict
2010-05-26 06:49:01 +08:00
Nathan Fritz
7ebc006516
updated README, index fix for component
2010-05-24 19:33:24 -07:00
Nathan Fritz
223507f36f
fixed a rather large memory leak
2010-05-12 13:45:36 -07:00
Nathan Fritz
8515cef117
refactored presence tracking and fixed jidInRoom
2010-05-11 15:12:13 -07:00
Nathan Fritz
c4fa3ab654
pubsub test work
2010-04-23 01:34:28 -07:00
Nathan Fritz
602a6d8491
bugfixes and continuing to work on pubsub tests
2010-04-22 21:24:28 -07:00
Nathan Fritz
37b571c55a
added pubsub#event stanzas, multi-subtypes iterable stanzas, pubsub#event test coverage
2010-04-21 23:51:37 -07:00
Nathan Fritz
2a30e3fe0c
started work on pubsub#event stanzas
2010-04-20 00:53:13 -07:00
Nathan Fritz
212660091f
added pubsub tests and fixed match on iterator error
2010-04-19 01:03:27 -07:00
Nathan Fritz
80e7e0d0ee
adding tests, fixed stanzapath matching to match keys, fixed pubsub#owner stanzas
2010-04-14 01:23:17 -07:00
Nathan Fritz
2f9f649d98
bugfix for .disconnect() hanging
2010-04-13 19:48:35 -07:00
Nathan Fritz
ecd5a172ed
replaced usage of deprecated iq result on send. Fixed old send result to use stanzas instead of ElementTree
2010-04-07 23:10:32 -07:00
Nathan Fritz
ec97c351de
fixed bug #7 -- muc roster leak
2010-03-26 13:59:29 -07:00
Nathan Fritz
c239fb1f90
added muc functionality
2010-03-04 09:47:42 -08:00
Nathan Fritz
0dcbe92d1e
got rid of stupid iq set/get/error/result methods
2010-02-15 21:42:27 -08:00
Nathan Fritz
5e736f4b97
fixed setup.py issue with unicode in 3.x
2010-01-29 23:57:57 -08:00
Nathan Fritz
6b130eb947
unhandled iq's should only respond to errors when type=get/set
2010-01-20 01:42:53 -08:00
Nathan Fritz
e39a2395d7
xep 30 and 50 always reply from jid iq sent to
2010-01-15 21:07:28 -08:00
Nathan Fritz
6e1aa0690f
Completed basic test coverage of xmlns http://jabber.org/protocol/pubsub stanzas
2010-01-13 09:04:05 -08:00
Nathan Fritz
137ef61523
* fix to xep 78
2010-01-08 06:06:44 +00:00
Nathan Fritz
8e3168e145
* added first stanza tests
...
* added stanza.keys()
* stanza.getValues() now return substanzas and plugins
* stanza.setValues() now can read substanzas and plugins
* stanzas can now be iterable if stanza.subitem is set to a class
2010-01-08 01:45:11 +00:00
Nathan Fritz
b54221f2a9
* pubsub#owner and pubsub namespace stanzas written
2010-01-07 23:52:52 +00:00
Nathan Fritz
093644ffbd
* major stanza improvements
...
* raise XMPPError in handler to reply with error stanza
* started work on pubsub stanzas
2010-01-05 21:56:48 +00:00
Nathan Fritz
07018c0afa
* fixed many stanza bugs
...
* added stanza unhandled (unhandled iqs now reply with feature-not-implemented)
* added stanza exceptions (stanzas may now reply with exceptions when their handler raises an exception)
2009-12-17 01:54:22 +00:00
Nathan Fritz
44aa526635
* fixed bugs with XEP 50 for components
...
* configuration-less nodes
2009-10-29 02:34:23 +00:00
Nathan Fritz
8dbf53594b
* fixed bug with setting boolean values in forms
...
* added setValues to forms
2009-10-27 01:05:30 +00:00
Nathan Fritz
f84f02acff
x:data form improvements
2009-10-19 08:35:15 +00:00
Nathan Fritz
e3a5211b6d
* fixes
2009-10-19 05:27:00 +00:00
Nathan Fritz
14331e2c96
* added form update
2009-10-19 05:18:36 +00:00
Nathan Fritz
349b1c0b28
* added form merging
2009-10-19 05:16:43 +00:00