From 81b7b2c1908e0f6a5435ce67745b5f4dafb59816 Mon Sep 17 00:00:00 2001
From: Richard Kellner <richard.kellner@erigones.com>
Date: Wed, 25 Mar 2015 14:04:46 +0100
Subject: Fixed bug #353 Python3 XEP-0084 error

---
 sleekxmpp/plugins/xep_0084/stanza.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

(limited to 'sleekxmpp')

diff --git a/sleekxmpp/plugins/xep_0084/stanza.py b/sleekxmpp/plugins/xep_0084/stanza.py
index 22f11b72..fd21e6f1 100644
--- a/sleekxmpp/plugins/xep_0084/stanza.py
+++ b/sleekxmpp/plugins/xep_0084/stanza.py
@@ -8,7 +8,7 @@
 
 from base64 import b64encode, b64decode
 
-from sleekxmpp.util import bytes
+from sleekxmpp.util import bytes as sbytes
 from sleekxmpp.xmlstream import ET, ElementBase, register_stanza_plugin
 
 
@@ -20,12 +20,15 @@ class Data(ElementBase):
 
     def get_value(self):
         if self.xml.text:
-            return b64decode(bytes(self.xml.text))
+            return b64decode(sbytes(self.xml.text))
         return ''
 
     def set_value(self, value):
         if value:
-            self.xml.text = b64encode(bytes(value))
+            self.xml.text = b64encode(sbytes(value))
+            # Python3 base64 encoded is bytes and needs to be decoded to string
+            if isinstance(self.xml.text, bytes):
+                self.xml.text = self.xml.text.decode()
         else:
             self.xml.text = ''
 
-- 
cgit v1.2.3