Lance Stout
d41ada6b66
Cleanup logging when loading a custom plugin.
2012-03-05 11:30:36 -08:00
Lance Stout
830db11b41
Ensure that roster nodes aren't empty strings.
...
This would happen when receiving presence without a 'to' field, which
happens when receiving presence from other resources for the same account.
2012-03-05 11:08:57 -08:00
Lance Stout
7d74a7b027
More extraneous import cleanup.
2012-02-17 14:59:56 -08:00
Lance Stout
9d5eb864d1
More import cleanups based on pyflakes results.
2012-02-17 14:41:31 -08:00
Lance Stout
1ae219025a
Don't dump exception logs for XML stream parsing errors.
...
The exceptions are handled, so we don't need to clutter the output logs.
2012-01-12 22:26:15 -08:00
Lance Stout
65dbddb6b6
Fix logging when loading plugins.
2011-12-09 20:57:08 -08:00
Lance Stout
e01c2d222a
More doc updates
2011-12-05 08:55:05 -08:00
Lance Stout
b54cc97e4c
Merge remote-tracking branch 'vijayp/master' into HEAD
...
Conflicts:
examples/ping.py
sleekxmpp/basexmpp.py
sleekxmpp/clientxmpp.py
sleekxmpp/features/feature_bind/bind.py
sleekxmpp/features/feature_mechanisms/mechanisms.py
sleekxmpp/plugins/gmail_notify.py
sleekxmpp/plugins/jobs.py
sleekxmpp/plugins/xep_0009/remote.py
sleekxmpp/plugins/xep_0009/rpc.py
sleekxmpp/plugins/xep_0012.py
sleekxmpp/plugins/xep_0045.py
sleekxmpp/plugins/xep_0050/adhoc.py
sleekxmpp/plugins/xep_0078/legacyauth.py
sleekxmpp/plugins/xep_0085/chat_states.py
sleekxmpp/plugins/xep_0199/ping.py
sleekxmpp/plugins/xep_0224/attention.py
sleekxmpp/xmlstream/handler/waiter.py
sleekxmpp/xmlstream/matcher/xmlmask.py
sleekxmpp/xmlstream/xmlstream.py
Conflicts:
examples/ping.py
sleekxmpp/basexmpp.py
sleekxmpp/clientxmpp.py
sleekxmpp/features/feature_bind/bind.py
sleekxmpp/features/feature_mechanisms/mechanisms.py
sleekxmpp/plugins/gmail_notify.py
sleekxmpp/plugins/jobs.py
sleekxmpp/plugins/xep_0009/remote.py
sleekxmpp/plugins/xep_0009/rpc.py
sleekxmpp/plugins/xep_0012.py
sleekxmpp/plugins/xep_0045.py
sleekxmpp/plugins/xep_0050/adhoc.py
sleekxmpp/plugins/xep_0078/legacyauth.py
sleekxmpp/plugins/xep_0085/chat_states.py
sleekxmpp/plugins/xep_0199/ping.py
sleekxmpp/plugins/xep_0224/attention.py
sleekxmpp/xmlstream/handler/waiter.py
sleekxmpp/xmlstream/matcher/xmlmask.py
sleekxmpp/xmlstream/xmlstream.py
2011-11-19 18:23:26 -08:00
Vijay Pandurangan
48af3d3322
remove unnecessary copies when only one handler matches. This was taking up ~ 15% of CPU on moderate load.
2011-11-19 15:59:38 -08:00
Lance Stout
429c94d6a9
Tidy up logging calls.
2011-11-19 12:07:57 -08:00
Vijay Pandurangan
deb52ad350
This change stops sleekxmpp from spending huge amounts of time unnecessarily 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-20 03:39:05 +08:00
Vijay Pandurangan
6f3cc77bb5
This change stops sleekxmpp from spending huge amounts of time unnecessarily 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-19 11:30:44 -08:00
Lance Stout
22868c3924
Fix changed_status event
...
Once again only fires when a resource's presence show value changes.
2011-11-18 13:39:02 -08:00
Lance Stout
a8d5da5091
Restore original behaviour for auto_authorize and auto_subscribe.
...
The change to using the new roster broke the original auto_* values
and used per-roster versions. The original auto_* values will now set
the behaviour globally. Use the per-roster values to override for a
specific JID.
2011-11-06 08:25:29 -08:00
Lance Stout
f92f96325a
Make Iq exceptions more discoverable and simpler to use.
...
IqError and IqTimeout now extend XMPPError, so if you don't care
about the difference, you can use:
try:
self.do_something_with_iqs()
except XMPPError:
# Error? Timeout? I don't care!
pass
If you do need to distinguish between timeouts and error replies,
you can still continue to use:
try:
self.do_somethin_with_iqs()
except IqError as err:
pass
except IqTimeout:
pass
If you don't catch any Iq errors and you're processing a stanza
then an error response will be sent, just like normal if you raise
XMPPError or any other exception, except that the error messages
will be generic to prevent leaking too much information.
2011-08-19 01:04:20 -07:00
Lance Stout
a714fa82b2
Remove extra, unhelpful presence debug log.
2011-08-18 02:46:08 -07:00
Lance Stout
484efff156
Merge branch 'develop' into roster
...
Conflicts:
setup.py
sleekxmpp/clientxmpp.py
2011-08-12 16:47:58 -07:00
Lance Stout
e83fae3a6f
Save the stream ID when the stream starts.
2011-08-06 00:44:32 -07:00
Lance Stout
5be5b8c02b
If no config for a plugin is given, try using self.plugin_config.
...
Sleek loads a few plugins by default, which made it difficult to
configure or even disable them.
Now, if a plugin is registered without any configuration, then
sleek will try finding a configuration in self.plugin_config.
2011-08-06 00:41:14 -07:00
Lance Stout
47bc50d9fb
Cosmetic PEP8 fixes.
2011-08-04 22:37:22 -07:00
Nathan Fritz
7f90de887a
added block as process option and updated documentation. added typical use example to ClientXMPP.
2011-08-04 21:49:32 -07:00
Lance Stout
89cffd43f4
Merge branch 'develop' into roster
...
Conflicts:
setup.py
2011-08-04 11:52:17 -07:00
Lance Stout
634f5d691b
Continued reorganization and streamlining.
2011-07-01 14:45:55 -07:00
Lance Stout
754ac5092a
Reorganize features into plugins.
2011-06-30 15:40:22 -07:00
Lance Stout
29d775e675
Integrate roster with BaseXMPP.
...
Last sent stanzas are saved regardless of if the roster is used
directly or self.send_presence
2011-06-16 16:03:31 -07:00
Lance Stout
4efd41f1ba
Merge branch 'develop' into stream_features
2011-06-15 10:56:33 -07:00
Lance Stout
58aa944a5e
Fix another roster issue.
...
Caused by same issue of a JID being in the roster, but with an
incomplete entry.
2011-06-15 10:55:36 -07:00
Lance Stout
a3597d6deb
Merge branch 'develop' into roster
...
Conflicts:
sleekxmpp/basexmpp.py
2011-06-14 14:24:25 -07:00
Lance Stout
5d11ab269d
Merge branch 'develop' into stream_features
2011-06-14 14:10:52 -07:00
Lance Stout
dd41a85efc
Fix issue with components and roster.
...
If the roster contained a JID, but not any resource presence data, then
an error would occur when accessing self.roster[jid]['presence'].
2011-06-14 14:03:54 -07:00
Nathan Fritz
46dc6eac88
remove roster item state responsibility from clients
2011-04-14 16:27:27 -07:00
Lance Stout
d5b3a52827
Merge branch 'develop' into stream_features
...
Conflicts:
sleekxmpp/xmlstream/stanzabase.py
2011-02-14 16:26:23 -05:00
Lance Stout
e4f3b777f9
Reset the roster on disconnect instead of replacing it.
2011-02-14 16:24:49 -05:00
Lance Stout
a278f79bdb
Merge branch 'develop' into roster
...
Conflicts:
sleekxmpp/clientxmpp.py
2011-02-14 16:18:44 -05:00
Lance Stout
75584d7ad7
Remap old method names in a better way.
...
This should prevent some reference cycles that will cause garbage
collection issues.
2011-02-14 13:49:43 -05:00
Lance Stout
de6170a13d
Merge branch 'develop' into roster
...
Conflicts:
sleekxmpp/basexmpp.py
2011-02-02 09:13:22 -05:00
Lance Stout
bd9bf3f1c7
Update tostring methods.
...
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-27 18:05:05 -05:00
Lance Stout
2004ddd678
Add StreamError stanza and a stream_error event.
...
Note that the stream may automatically attempt to
reconnect when a stream error is received.
2011-01-16 13:22:52 -05:00
Lance Stout
4487a90623
Add self.client_roster to make things simpler for clients.
2011-01-10 16:28:49 -05:00
Lance Stout
c156a4f723
Merge branch 'develop' into roster
2011-01-05 16:53:33 -05:00
Lance Stout
e08b0054b2
Keep things lined up.
2010-12-29 15:01:50 -05:00
Andrzej Bieniek
596e135a03
Fixed typo in comment.
2010-12-28 21:32:28 +00:00
Lance Stout
e55e213c78
Fix some typos.
2010-12-28 16:17:08 -05:00
Lance Stout
adade2e5ec
Merge branch 'develop' into roster
2010-12-16 22:03:56 -05:00
Lance Stout
d9c25ee65c
Added more options to the make_iq_* methods.
...
May include a to and from JID in make_iq_* calls.
May pass an existing iq stanza to most of them instead of generating
a new stanza.
make_iq now accepts a 'to' value, 'type' value, and 'query' value to
simplify things a bit more.
2010-12-16 15:25:04 -05:00
Lance Stout
c16913c999
Merge branch 'develop' into roster
...
Conflicts:
sleekxmpp/basexmpp.py
2010-12-13 14:36:53 -05:00
Lance Stout
ab25301953
Adding stream tests for XEP-0030.
...
Fixed some errors when responding to disco requests.
2010-11-18 15:50:45 -05:00
Lance Stout
0d4d84b2fa
Cleaned basexmpp.py
2010-11-17 10:13:45 -05:00
Lance Stout
69d430dd75
Cleaned up names.
2010-11-17 01:49:51 -05:00
Lance Stout
673545c7e4
First pass at integrating the new roster manager.
2010-11-17 01:49:19 -05:00