summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-14Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/xmlstream/stanzabase.py
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
2011-02-14Use the _build_stanza method.Lance Stout
2011-02-14Remap old method names in a better way.Lance Stout
This should prevent some reference cycles that will cause garbage collection issues.
2011-02-14More attempts at fixing garbage collection.Lance Stout
Don't keep a reference to stanzas in Callback objects.
2011-02-14Break references that can prevent garbage collection.Lance Stout
2011-02-13Simplification when removing a deletable handler.Lance Stout
2011-02-13Return the name of the registered callback.Lance Stout
Instead of the actual callback object, return just the name of the callback object created when using iq.send(callback=..). This will help prevent memory leaks by not keeping an additional reference to the object, but still allows for the callback to be canceled by using self.remove_handler("handler_name").
2011-02-13Make one-off Callbacks ready for deletion after the prerun step.Lance Stout
Waiting until the actual run step means that the handler is not marked for deletion when checked in the __spawn_event() thread, causing the callback to stay in the handler list.
2011-02-12Return the registered callback when using iq.send(callback=foo).Lance Stout
Allows for a callback to be canceled by unregistering the returned handler.
2011-02-11XMPPError exceptions can keep a stanza's contents.Lance Stout
This allows exceptions to include the original content of a stanza in the error response by including the parameter clear=False when raising the exception.
2011-02-11Updated XEP-0199 plugin.Lance Stout
Now has docs and uses the new plugin format.
2011-02-10added option to return false on ping error, added ping exampleNathan Fritz
2011-02-09Fix same error for get_info default behaviour.Lance Stout
2011-02-09Fix get_items default behaviour.Lance Stout
2011-02-08Update XEP-0060 test.Lance Stout
2011-02-09Replace the print statement by a log.debug callFlorent Le Coz
This print syntax is deprecated in python3, so the plugin was working only with python2
2011-02-09Fix the xep_0009 import (no more relatives)Florent Le Coz
Also, remove trailing spaces in all files of this plugin
2011-02-08Some more roster tweaks.Lance Stout
2011-02-07This fixes the configuration stuff, because type is form not submit with ↵Stefan de Konink
setNodeConfiguration.
2011-02-07Fixed failing tests from new XEP-0009 pluginLance Stout
2011-02-05fixed mergeNathan Fritz
2011-02-02Make the roster backend settable.Lance Stout
2011-02-02Merge branch 'develop' into rosterLance Stout
Conflicts: sleekxmpp/basexmpp.py
2011-01-31Updated todo list for 1.0 release.Lance Stout
2011-01-31Fixes for XEP-0202Lance Stout
2011-01-28First pass at re-worked stream features.Lance Stout
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-27Update tostring methods.Lance Stout
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-27Merge branch 'develop' of github.com:fritzy/SleekXMPP into developLance Stout
2011-01-27Make StreamError work properly.Lance Stout
Now uses the correct namespaces and condition names.
2011-01-27Make stanza.plugins an OrderedDict.Lance Stout
This allows you to determine the order in which substanzas were added in the original XML.
2011-01-27Recognize stanzas that don't use the default namespace.Lance Stout
2011-01-27xep_0045: fix the 'to' value when configuring roomFlorent Le Coz
2011-01-26Cleanup for stanzabase.Lance Stout
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-26Upgraded how subitem works.Lance Stout
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-23My hunch is that these should also be updated.Stefan de Konink
2011-01-19Make extending stanza objects nicer.Lance Stout
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-19Fix tests for Nick stanza.Lance Stout
2011-01-19Merge branch 'develop' of github.com:fritzy/SleekXMPP into developLance Stout
2011-01-19Fix thirdparty imports for Python3Lance Stout
2011-01-20Do not traceback when DNS resolution time out.Florent Le Coz
Just log that the resolution timed out, and fall back to the hostname from the JID in this case
2011-01-19Fix disco add_item.Lance Stout
If no JID is specified for the item, use xmpp.boundjid.full.
2011-01-19Fix namespace for Nick stanza.Lance Stout
2011-01-19Fix error in disco add_item.Lance Stout
None values were not being treated properly.
2011-01-16Add StreamError stanza and a stream_error event.Lance Stout
Note that the stream may automatically attempt to reconnect when a stream error is received.
2011-01-16Raise the event 'socket_error' when a socket error occurs.Lance Stout
Will be most useful for debugging and responding to failed connection attempts.
2011-01-15Make it easier to import OrderedDictLance Stout