summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-03-12Moving backwards compatibility shims to __init__ files.Lance Stout
2012-03-12Update XEP-0030 and XEP-0059 to new system.Lance Stout
2012-03-12Add tests for new plugin manager.Lance Stout
2012-03-12Introduce new plugin system.Lance Stout
The new system is backward compatible and will load older style plugins. The new plugin framework allows plugins to track their dependencies, and will auto-enable plugins as needed. Dependencies are tracked via a class-level set named `dependencies` in each plugin. Plugin names are no longer tightly coupled with the plugin class name, Pso EP8 style class names may be used. Disabling plugins is now allowed, but ensuring proper cleanup is left to the plugin implementation. The use of a `post_init()` method is no longer needed for new style plugins, but plugins following the old style will still require a `post_init()` method.
2012-03-12Add setting for maximum number of reconnection attempts.Lance Stout
Setting self.reconnect_max_attempts to a non-None value will limit the number of times a connection attempt will be made before quiting and raising a 'connection_failed' event.
2012-03-11Update plugin list and use correct names.Lance Stout
2012-03-11Ensure that result stanzas are returned, as expected.Lance Stout
2012-03-11Add support for XEP-0108: User Activity.Lance Stout
2012-03-11Expand support of XEP-0172 (user nickname) to include PEP.Lance Stout
2012-03-10Add support for XEP-0107, User Mood.Lance Stout
2012-03-10Fix plugin loading logs for XEP-0118 and XEP-0163.Lance Stout
2012-03-10Add support for XEP-0080.Lance Stout
2012-03-10Resolve plugin dependency chains with XEP-0115.Lance Stout
The post_init() system can only reliably handle a single layer of dependencies between plugins, but PEP plugins with XEP-0115 exceed that limit and plugins can be post_init'ed out of order. To resolve this, we will special case XEP-0115 to be post_init'ed first until the new plugin system with dependency tracking is stable.
2012-03-10Add user tune feature to disco, not just notifications.Lance Stout
2012-03-10Ensure post init works for XEP-0118.Lance Stout
2012-03-10Add support for XEP-0118.Lance Stout
See examples/user_tune.py for a demonstration using the currently playing song in iTunes.
2012-03-10Fix XEP-0163's updating of caps.Lance Stout
2012-03-10Only auto-broadcast caps changes after a session has started.Lance Stout
2012-03-10Add XEP-0163 plugin.Lance Stout
This is just a very simple wrapper for XEP-0030, XEP-0115, and XEP-0060 for adding interests to caps information, and publishing.
2012-03-10Add support for pubsub notification events.Lance Stout
Publishes, retractions, purges, and deletions now raise the events: - pubsub_publish - pubsub_retract - pubsub_purge - pubsub_delete In addition, custom events may be raised based on the node that generated the notification. For example: xmpp['xep_0060'].map_node_event('http://jabber.org/protocol/tune', 'user_tune') will allow for using the events: - user_tune_publish - user_tune_retract - user_tune_purge - user_tune_delete
2012-03-10Correct missing pubsub#event stanzas and interfaces.Lance Stout
2012-03-08Fix setup.py to include the rosterver stream feature plugin.Lance Stout
2012-03-07Add tests for roster versioning.Lance Stout
2012-03-07Modify the cert event to provide the PEM encoded cert in all cases.Lance Stout
2012-03-07Add support for roster versioning.Lance Stout
This was XEP-0237, but is now part of RFC 6121. Roster backends should now expose two additional methods: version(jid): Return the version of the given JID's roster. set_version(jid, version): Update the version of the given JID's roster. A new state field will be passed to the backend if an item has been marked for removal. This is 'removed' which will be set to True.
2012-03-05Cleanup logging when loading a custom plugin.Lance Stout
2012-03-05Propagate save option when setting a roster backend.Lance Stout
2012-03-05Save existing roster content when setting a new backend.Lance Stout
2012-03-05Prevent excess loading from the roster db.Lance Stout
Fixes issue #148
2012-03-05Ensure that roster nodes aren't empty strings.Lance Stout
This would happen when receiving presence without a 'to' field, which happens when receiving presence from other resources for the same account.
2012-02-22Let disconnect() wait for its lock for a few seconds.Lance Stout
This should eliminate most debug statements about not being able to acquire a lock during disconnect.
2012-02-19Update XEP-0085 plugin to work with both ElementTree and cElementTreeLance Stout
Each state element must have its own stanza class now. A stanza class with an empty name field causes errors in ElementTree, even though it works fine with cElementTree.
2012-02-19Fix incompatibility with clearing an element between ElementTree and ↵Lance Stout
cElementTree
2012-02-19xml.etree.ElementTree raises ExpatError instead of SyntaxError or ParseError.Lance Stout
2012-02-19Centralize references to ET to make switching implementations easier.Lance Stout
2012-02-18Fix instances of using undefined variables.Lance Stout
2012-02-18More pyflakes cleanup.Lance Stout
2012-02-18More import cleanup based on pyflakes.Lance Stout
2012-02-18Use JID objects when dealing with roster items.Lance Stout
2012-02-17More extraneous import cleanup.Lance Stout
2012-02-17More import cleanups based on pyflakes results.Lance Stout
2012-02-17Fix pyflakes complaints for XEP-0115 plugin.Lance Stout
2012-02-17Make last_xml usage a little more explict.Lance Stout
2012-02-17Fix undeclared variable usage for reconnect.Lance Stout
2012-02-17Updated XEP-0009 to handle unicode stringsCorrel Roush
2012-02-16Fix fixing remove_stanza()Lance Stout
Fixes issue #146
2012-02-16Don't retrieve cert until a connection is made.Lance Stout
2012-02-16Fix remove_stanza().Lance Stout
Fixes issue #146
2012-02-10Don't shutdown completely after handling SyntaxError.Lance Stout
The ``shutdown = True`` line was preventing the stream from reconnecting after handling the error. Fixes issues #101, #145
2012-02-10Fix undefined variable references when DNS timeouts.Lance Stout