summaryrefslogtreecommitdiff
path: root/sleekxmpp/stanza
AgeCommit message (Collapse)Author
2011-08-06Fix XEP-0078 using the new stream feature workflow.Lance Stout
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-07-02Fix ordering bug when retrieving an error condition.Lance Stout
2011-07-02Simplify SASL mech registration.Lance Stout
Moved SASL registration completely to the feature plugin, instead of keeping a portion of it in ClientXMPP.
2011-07-01Merge branch 'develop' into stream_featuresLance Stout
2011-07-01So using sys.excepthook to catch errors only works once.Lance Stout
The error bubbles through the event processing loop, breaking it and hanging the application. Instead, there is now a .exception(e) method on XMLStream which may be overridden or reassigned that will receive all unhandled exceptions (read: not XMPPError) from event and stream handlers.
2011-07-01Continued reorganization and streamlining.Lance Stout
2011-06-28Reorganized stream level stanzas.Lance Stout
2011-06-20Merge branch 'develop' into stream_featuresLance Stout
2011-06-20Fix stanza clobbering when replying to errors.sleek-1.0.0-beta5sleek-1.0-Beta51.0.0-beta51.0-Beta5Lance Stout
If a stanza handler raised an exception, the exception was processed and replied by the modified stanza, not a stanza with the original content. A copy is now made before handler processing, and if an exception occurs it is the copy that processes the exception using the original content.
2011-05-31Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/clientxmpp.py
2011-05-27Don't use the send queue for stream initialization.Lance Stout
Use the parameter now=True to skip the queue when sending Iq stanzas, or using xmpp.send().
2011-05-20Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/clientxmpp.py
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-18Fix error with session feature.Lance Stout
2011-02-14Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/xmlstream/stanzabase.py
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-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-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-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-27Make StreamError work properly.Lance Stout
Now uses the correct namespaces and condition names.
2011-01-19Fix namespace for Nick stanza.Lance Stout
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-12Fix ordering error in Iq._set_stanza_values.Lance Stout
If iq['query'] was set before a plugin that used the query element was set, then the query element was duplicated.
2010-12-17Make tests pass for catching exceptions.Lance Stout
May now use sys.excepthook to catch exceptions from threaded handlers.
2010-12-17RootStanza raises unexpected exceptionsFlorent Le Coz
We now raise the unexpected exceptions instead of sending them on the network. - avoids flood (sending a traceback on a MUC, for example…) and maybe some security issues. - lets you handle the traceback (catch it to handle it properly, or with except_hook, etc) - an exception cannot be raised without you knowing
2010-12-07Actually make the Iq callbacks work for real.Lance Stout
2010-12-07Added option for iq.send to accept a callhandler.Lance Stout
The callback will be a stream level handler, and will not execute in its own thread. If you must have a thread, have the callback function raise a custom event, which can be processed by another event handler, which may run in an individual thread, like so: def handle_reply(self, iq): self.event('custom_event', iq) def do_long_operation_in_thread(self, iq): ... self.add_event_handler('custom_event', self.do_long_operation_in_thread) ...take out already prepared iq stanza... iq.send(callback=self.handle_reply)
2010-11-17Fix RESPONSE_TIMEOUT dependency loops.Lance Stout
2010-11-06Logging no longer uses root logger.Lance Stout
Each module should now log into its own logger.
2010-10-21presence no longer replies when exception is caught and tweaks to presence ↵Nathan Fritz
events
2010-10-17Underscore names by default.Lance Stout
Stanza objects now accept the use of underscored names. The CamelCase versions are still available for backwards compatibility, but are discouraged. The property stanza.values now maps to the old getStanzaValues and setStanzaValues, in addition to _set_stanza_values and _get_stanza_values.
2010-10-16Cleanup, restore PEP8.Lance Stout
2010-10-17Fix the error on non-number priorityFlorent Le Coz
The priority is not a number: we consider it 0 as a default
2010-10-07Corrected test errors.Lance Stout
There was a bug in the XML compare method.
2010-10-06More PEP8 compliance cleanups.Lance Stout
Cleaned up the atom entry stanza.
2010-08-11Updated roster stanza with docs and PEP8 style.Lance Stout
2010-08-03Update nick stanza with documentation and PEP8 style.Lance Stout
2010-08-03Updated XHTML-IM stanza with documentation and PEP8 style.Lance Stout
2010-08-03Updated presence stanza with documentation and PEP8 style.Lance Stout
2010-08-03Updated message stanzas and tests with documentation and PEP8 style.Lance Stout
2010-07-30Added optional default value to _getAttr.Lance Stout
2010-07-29Updated, cleaned, and documented Iq stanza class. Also added unit tests.Lance Stout
2010-07-29Added unit tests for error stanzas. Corrected error in deleting conditions.Lance Stout
2010-07-29Updated error stanza to be PEP8 compliant and include documentation.Lance Stout
2010-07-29Fixed some PEP8 errors in RootStanza (trailing whitespace and line length)Lance Stout
2010-07-28Updated RootStanza to use registerStanzaPlugin, and be PEP8 compliant.Lance Stout
2010-07-26Replaced traceback calls to use logging.exception where applicable.Lance Stout
2010-07-20Updated license notices to use the correct MIT format. Also corrected ↵Lance Stout
references to nonexistant license.txt to LICENSE.
2010-07-20Updated presence stanza to include a 'show' interface. Presence stanza tests ↵Lance Stout
updated accordingly.