summaryrefslogtreecommitdiff
path: root/sleekxmpp/clientxmpp.py
AgeCommit message (Collapse)Author
2011-11-19Tidy up logging calls.Lance Stout
2011-11-20This change stops sleekxmpp from spending huge amounts of time unnecessarily ↵Vijay Pandurangan
computing logging data that may never be used. This is a HUGE performance improvement; in some of my test runs, unnecessary string creation was accounting for > 60% of all CPU time. Note that using % in a string will _always_ perform the sting substitutions, because the strings are constructed before the function is called. So log.debug('%s' % expensiveoperation()) will take about the same CPU time whether or not the logging level is DEBUG or INFO. if you use , no substitutions are performed unless the string is actually logged
2011-11-14Fix typoLance Stout
2011-11-11Add use_ssl parameter to ClientXMPP.connectLance Stout
2011-09-28Allow SASL mechanism to be set when creating a ClientXMPP instance.Lance Stout
Instead of using: ClientXMPP(jid, password, plugin_config={ 'feature_mechanisms': {'use_mech': 'SOME-MECH'}}) You can use: ClientXMPP(jid, password, sasl_mech='SOME-MECH') If you need to change the mechanism after instantiation, use: xmpp['feature_mechanisms'].sasl.mech = 'SCRAM-MD5'
2011-08-25Session timeout now defaults to 45sec, but can be adjusted.Lance Stout
e.g. self.session_timeout = 15 It is also managed by XMLStream instead of ClientXMPP now.
2011-08-18PEP8 editsLance Stout
2011-08-18added inline documentation for new dns methodsNathan Fritz
2011-08-18fixed manual address definitionNathan Fritz
2011-08-18Fix exceptions for Python3Lance Stout
2011-08-18DNS is now properly checked and different answers are tried for each ↵Nathan Fritz
reconnect until exhausted
2011-08-12Merge branch 'develop' into rosterLance Stout
Conflicts: setup.py sleekxmpp/clientxmpp.py
2011-08-12Merge branch 'exceptions' into developNathan Fritz
2011-08-04added block as process option and updated documentation. added typical use ↵Nathan Fritz
example to ClientXMPP.
2011-08-04Merge branch 'develop' into rosterLance Stout
Conflicts: setup.py
2011-08-03Merge branch 'develop' into stream_featuresLance Stout
2011-08-03Integrate a modified version of Dave Cridland's Suelta SASL library.Lance Stout
2011-07-27Merge branch 'develop' into exceptionsLance Stout
2011-07-27Merge branch 'develop' into rosterLance Stout
2011-07-27Fix error with DNS selection.Lance Stout
Missed a renaming of 'priority' to 'item'
2011-07-16Do a weighted choice among the highest prioritized items based on weight ↵Kim Alvefur
instead of a weighted choice based on priorities.
2011-07-02Use a set to track negotiated features.Lance Stout
Added guards to prevent renegotiating STARTTLS or SASL in cases where servers don't behave properly.
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-02Finish cleaning up stream feature organization.Lance Stout
Fixed missing references that weren't caught due to leftover pyc file allowing tests to keep working when they shouldn't have.
2011-07-01Continued reorganization and streamlining.Lance Stout
2011-06-30Reorganize features into plugins.Lance Stout
2011-06-29Fix SASL mechanism selection bug.Lance Stout
ANONYMOUS was being treated as PLAIN, mechanism was being chosen purely from supported mechanisms, not those provided by the server. Broke nested handler methods into top-level methods.
2011-06-28Reorganized stream level stanzas.Lance Stout
2011-06-16Integrate roster with ClientXMPP.Lance Stout
Roster updates are now passed through to the roster when using self.update_roster, etc.
2011-06-01Begin experimental use of exceptions.Lance Stout
Provides IqTimeout and IqError which are raised when an Iq response does not arrive in time, or it arrives with type='error'.
2011-05-31Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/clientxmpp.py
2011-05-31Merge branch 'develop' into rosterLance Stout
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
2011-05-20Merge branch 'develop' into rosterLance Stout
2011-05-20Handle callback return value case.Lance Stout
2011-05-20Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/clientxmpp.py
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-03-22Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/clientxmpp.py
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-02-14Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/xmlstream/stanzabase.py
2011-02-14Merge branch 'develop' into rosterLance Stout
Conflicts: sleekxmpp/clientxmpp.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-02Merge branch 'develop' into rosterLance Stout
Conflicts: sleekxmpp/basexmpp.py
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-23My hunch is that these should also be updated.Stefan de Konink
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