Commit Graph

1480 Commits

Author SHA1 Message Date
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
Lance Stout 606c369173 Some more roster tweaks. 2011-02-08 19:15:50 -05: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 3c871920b1 Make the roster backend settable. 2011-02-02 12:05:34 -05:00
Lance Stout de6170a13d Merge branch 'develop' into roster
Conflicts:
	sleekxmpp/basexmpp.py
2011-02-02 09:13:22 -05:00
Lance Stout 5313338c3a Fixes for XEP-0202 2011-01-31 15:40:00 -05:00
Lance Stout 1a270dc05c First pass at re-worked stream features.
Stream features now use stanza objects!

Features are given a ranking that expresses the dependency
relationships (since only one feature is negotiated at a time, the
dependency graph can be replaced by a line).

>>> xmpp.register_feature('my_feature', _my_handler,
>>>                       restart=True,   # Requires stream restart
>>>                       order=600)      # Ranking (out of ~ 10,000,
>>>                                       # lower #'s executed first)

SASL mechanisms may now be added or disabled as needed. Each mechanism
is given a priority value indicating the order in which the client
wishes for mechanisms to be tried. Higher priority numbers are executed
first.

>>> xmpp.register_sasl_mechanism('SASL-MECH', _mech_handler,
>>>                              priority=0)

Disabling a SASL mechanism:

>>> xmpp.remove_sasl_mechanism('ANONYMOUS')
2011-01-28 00:49:37 -05:00
Lance Stout bd9bf3f1c7 Update tostring methods.
Will now always show top-level namespace, unless it is the same
as the stream's default namespace. Also added the XMPP stream
namespace to the namespace map as 'stream'.
2011-01-27 18:05:05 -05:00
Lance Stout cd800d636a Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop 2011-01-27 16:05:15 -05:00
Lance Stout 40642b2cd1 Make StreamError work properly.
Now uses the correct namespaces and condition names.
2011-01-27 16:02:57 -05:00
Lance Stout 35ef8f9090 Make stanza.plugins an OrderedDict.
This allows you to determine the order in which substanzas
were added in the original XML.
2011-01-27 16:01:35 -05:00
Lance Stout 38dc35840e Recognize stanzas that don't use the default namespace. 2011-01-27 15:59:50 -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
Lance Stout 4e757c2b56 Upgraded how subitem works.
May now use register_stanza_plugin(Foo, Bar, iterable=True)
to add to the set of stanza classes used for iterable
substanzas. It is no longer necessary to manually specify
the contents of subitem if the new method is used.
2011-01-26 10:04:36 -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 da332365d4 Make extending stanza objects nicer.
A stanza object may add is_extension = True to its class definition
to provide a single new interface to a parent stanza.

For example:

import sleekxmpp
from sleekxmpp import Iq
from sleekxmpp.xmlstream import ElementBase, register_stanza_plugin, ET

class Foo(ElementBase):
    """
    Test adding just an attribute to a parent stanza.

    Adding subelements works as expected.
    """
    is_extension = True
    interfaces = set(('foo',))
    plugin_attrib = 'foo'

    def setup(self, xml):
        # Don't include an XML element in the parent stanza
        # since we're adding just an attribute.
        # If adding a regular subelement, no need to do this.
        self.xml = ET.Element('')

    def set_foo(self, val):
        self.parent()._set_attr('foo', val)

    def get_foo(self):
        return self.parent()._get_attr('foo')

    def del_foo(self):
        self.parent()._del_attr('foo')

register_stanza_plugin(Iq, Foo)

i1 = Iq()
i2 = Iq(xml=ET.fromstring("<iq xmlns='jabber:client' foo='bar' />"))

>>> i1['foo'] = '3'
>>> i1
'3'
>>> i1
'<iq id="0" foo="3" />'
>>> i2
'<iq id="0" foo="bar" />'
>>> i2['foo']
'bar'
>>> del i2['foo']
>>> i2
'<iq id="0" />'
2011-01-19 19:49:13 -05:00
Lance Stout 6f4c2f22f3 Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop 2011-01-19 17:50:05 -05:00
Lance Stout 493df57035 Fix thirdparty imports for Python3 2011-01-19 17:49:39 -05:00
Florent Le Coz 897a9ac333 Do not traceback when DNS resolution time out.
Just log that the resolution timed out, and fall back
to the hostname from the JID in this case
2011-01-20 06:34:08 +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 d3b1f8c476 Fix namespace for Nick stanza. 2011-01-19 16:47:18 -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 2004ddd678 Add StreamError stanza and a stream_error event.
Note that the stream may automatically attempt to
reconnect when a stream error is received.
2011-01-16 13:22:52 -05:00
Lance Stout cb85d4a529 Raise the event 'socket_error' when a socket error occurs.
Will be most useful for debugging and responding to failed
connection attempts.
2011-01-16 13:07:39 -05:00
Lance Stout ead3af3135 Make it easier to import OrderedDict 2011-01-15 17:15:33 -05:00
Lance Stout a2891d7608 Fix how disco plugin looks up info and items for clients. 2011-01-15 10:08:35 -05:00
Lance Stout d7dea0c6cc Add a note for debug statement when running scheduled events.
Fixes the intermittent DEBUG ((),) messages that give no
explanation.

Will now show as:
DEBUG Scheduled event: ((), )
2011-01-14 12:07:25 -05:00
Lance Stout 65931bb384 Merge branch 'develop' into roster 2011-01-13 22:16:46 -05:00
Lance Stout 632827f213 Fix bug in JID class. Attribute .jid now works properly. 2011-01-13 10:21:20 -05:00
Lance Stout b71550cec7 Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop 2011-01-13 10:20:34 -05:00
Dann Martens b68e7bed40 Fixed typo. 2011-01-13 15:04:16 +01: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
Lance Stout ba0d699d83 Fix ordering error in Iq._set_stanza_values.
If iq['query'] was set before a plugin that used the query
element was set, then the query element was duplicated.
2011-01-12 08:55:33 -05:00
Lance Stout a5d53b3349 Fix method call error. 2011-01-10 16:33:30 -05:00
Lance Stout 4487a90623 Add self.client_roster to make things simpler for clients. 2011-01-10 16:28:49 -05:00
Lance Stout 05da8cc3d1 Merge branch 'develop' into roster 2011-01-10 16:27:18 -05:00
Te-je Rodgers fe3f8dde4b added plugin for xep-0249 2011-01-11 04:11:05 +08:00
Lance Stout 23e499998f Merge branch 'develop' into roster 2011-01-09 10:04:09 -05: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