summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--example.py5
-rw-r--r--sleekxmpp/basexmpp.py7
-rw-r--r--sleekxmpp/xmlstream/stanzabase.py5
3 files changed, 16 insertions, 1 deletions
diff --git a/example.py b/example.py
index bba31a8f..71979c56 100644
--- a/example.py
+++ b/example.py
@@ -1,8 +1,13 @@
+# coding=utf8
+
import sleekxmpp
import logging
from optparse import OptionParser
import time
+reload(sys)
+sys.setdefaultencoding('utf8')
+
class Example(sleekxmpp.ClientXMPP):
def __init__(self, jid, password):
diff --git a/sleekxmpp/basexmpp.py b/sleekxmpp/basexmpp.py
index 26e513a4..92f1f9a6 100644
--- a/sleekxmpp/basexmpp.py
+++ b/sleekxmpp/basexmpp.py
@@ -39,6 +39,13 @@ from . stanza.error import Error
import logging
import threading
+import sys
+
+if sys.version_info < (3,0):
+ reload(sys)
+ sys.setdefaultencoding('utf8')
+
+
def stanzaPlugin(stanza, plugin):
stanza.plugin_attrib_map[plugin.plugin_attrib] = plugin
stanza.plugin_tag_map["{%s}%s" % (plugin.namespace, plugin.name)] = plugin
diff --git a/sleekxmpp/xmlstream/stanzabase.py b/sleekxmpp/xmlstream/stanzabase.py
index 480e9602..7a5ba4a1 100644
--- a/sleekxmpp/xmlstream/stanzabase.py
+++ b/sleekxmpp/xmlstream/stanzabase.py
@@ -18,7 +18,10 @@ class JID(object):
if name == 'resource':
return self.jid.split('/', 1)[-1]
elif name == 'user':
- return self.jid.split('@', 1)[0]
+ if '@' in self.jid:
+ return self.jid.split('@', 1)[0]
+ else:
+ return ''
elif name == 'server':
return self.jid.split('@', 1)[-1].split('/', 1)[0]
elif name == 'full':