summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-05-20Merge branch 'develop' into rosterLance Stout
Conflicts: sleekxmpp/clientxmpp.py tests/test_stream_roster.py
2011-05-20Resolve timeout errors for get_roster.Lance Stout
See issue #89 Using get_roster will now return the same types of values as Iq.send. If a timeout occurs, then the event 'roster_timeout' will be fired. A successful call to get_roster will also raise the 'roster_received' event. To ensure that the get_roster call was successful, here is a pattern to follow: def __init__(self, ...): ... self.add_event_handler('session_start', self.session_start) self.add_event_handler('roster_timeout', self.roster_timeout) self.add_event_handler('roster_received', self.roster_received) def session_start(self, e): self.send_presence() self.get_roster() def roster_timeout(self, e): # Optionally increase the timeout period self.get_roster(timeout=self.response_timeout * 2) def roster_received(self, iq): # Do stuff, roster has been initialized. ...
2011-05-13Ensure that the XEP-0086 plugin is loaded.Lance Stout
Since the XEP-0086 plugin auto adds error code values, it must be reliably loaded or unloaded when certain tests are run so that stanzas may be matched. In this case, we ensure that the plugin is used.
2011-04-26Merge branch 'develop' into rosterLance Stout
2011-04-26Add support for testing that no stanzas are sent in tests.Lance Stout
Use: self.send(None)
2011-04-15added has_jid to rosterNathan Fritz
2011-04-14Pubsub/Unsubscribe was not getting registeredNathan Fritz
2011-04-14Pubsub/Unsubscribe was not getting registeredNathan Fritz
2011-04-14remove roster item state responsibility from clientsNathan Fritz
2011-04-11Merge branch 'develop' into rosterLance Stout
2011-04-11Mark scheduler thread as a daemon.Lance Stout
2011-04-08Merge branch 'develop' into rosterLance Stout
2011-04-08Update tests to reflect XEP-0086 correcting error codes.Lance Stout
2011-04-08Merge branch 'develop' into rosterLance Stout
2011-04-08Make setup.py use sleekxmpp.__version__Lance Stout
2011-04-08Add version info.Lance Stout
May now use sleekxmpp.__version__ and sleekxmpp.__version_info__.
2011-04-08Use underscore method name.Lance Stout
Since camelcase names are aliased to the underscored name at startup, if the underscored version is replaced later, the camelCase name does not reflect the change.
2011-03-24Merge branch 'develop' into rosterLance Stout
2011-03-24Added new implementation for XEP-0086.Lance Stout
2011-03-24Allow a stanza plugin to override a parent's interfaces.Lance Stout
Each interface, say foo, may be overridden in three ways: set_foo get_foo del_foo To declare an override in a plugin, add the class field overrides as so: overrides = ['set_foo', 'del_foo'] Each override must have a matching set_foo(), etc method for implementing the new behaviour. To enable the overrides for a particular parent stanza, pass the option overrides=True to register_stanza_plugin. register_stanza_plugin(Stanza, Plugin, overrides=True) Example code: class Test(ElementBase): name = 'test' namespace = 'testing' interfaces = set(('foo', 'bar')) sub_interfaces = set(('bar',)) class TestOverride(ElementBase): name = 'test-override' namespace = 'testing' plugin_attrib = 'override' interfaces = set(('foo',)) overrides = ['set_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, value): print("overrides!") self.parent()._set_attr('foo', 'override-%s' % value) register_stanza_plugin(Test, TestOverride, overrides=True) Example usage: >>> t = TestStanza() >>> t['foo'] = 'bar' >>> t['foo'] 'override-bar'
2011-03-24Left too much unlrelated code in example.Lance Stout
2011-03-24Merge branch 'develop' into rosterLance Stout
2011-03-24Added new XEP-0050 implementation.Lance Stout
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-23Tidy up the examples.Lance Stout
2011-03-23Allow SleekTest to wait longer when checking for sent stanzas.Lance Stout
Now timeouts at 0.5sec instead of 0.1sec, which should prevent test failures from stanzas being delayed longer than usual.
2011-03-23Fix typo.Lance Stout
2011-03-23Updated todo file again.Lance Stout
Only 11 plugins left to tidy before 1.0!
2011-03-23Merge branch 'develop' into rosterLance Stout
2011-03-23Updated todo file.Lance Stout
2011-03-23Cleaned XEP-0249 plugin, added tests.Lance Stout
2011-03-22Merge branch 'develop' into rosterLance Stout
2011-03-22Updated XEP-0128 plugin to work with the new XEP-0030 plugin.Lance Stout
Required fixing a few bugs in StanzaBase related to iterable substanzas.
2011-03-22Merge branch 'develop' into rosterLance Stout
2011-03-22Updated doc for connect()Lance Stout
2011-03-22May pass use_tls=False to connect().Lance Stout
Will disable the use of TLS for the session.
2011-03-18Merge branch 'develop' into rosterLance Stout
2011-03-18Change namespace inclusion in strings.Lance Stout
ElementBase instances will display the top-most namespace by default. StanzaBase instances will NOT display the top-most namespace by default. May pass True or False to __str__ to override.
2011-03-18Fix error in stanza handler registration in XEP-0092.Lance Stout
2011-03-18Merge branch 'develop' into rosterLance Stout
2011-03-18Merge branch 'develop' of github.com:fritzy/SleekXMPP into developLance Stout
2011-03-18Fix self.disconnect(reconnect=True) not working.Lance Stout
2011-03-16Avoid infinite loop on version resultFlorent Le Coz
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-02-24Merge branch 'develop' into rosterLance Stout
2011-02-24Remove the occasional warning about XEP-0059 not loaded.Lance Stout
2011-02-24Add tests for XEP-0085, fix some bugs.Lance Stout
2011-02-24Updated the XEP-0085 plugin.Lance Stout
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-23Bring back the signal handlers (and the "killed" event).Lance Stout
Now done more responsibly, saving any existing signal handlers and calling them when an interrupt occurs in addition to the one Sleek installs. NOTE: You may need to explicitly use "kill <process id>" in order to trigger the proper signal handler execution, and to raise the "killed" event.
2011-02-15fixes to ping: auto-ping off by default, fixed ping-time of zero bug, fixed ↵Nathan Fritz
class name mismatch
2011-02-14Reset the roster on disconnect instead of replacing it.Lance Stout
2011-02-14Merge branch 'develop' into rosterLance Stout
Conflicts: sleekxmpp/clientxmpp.py