Fix some more Unicode in **kwargs issues in Py2.6

This commit is contained in:
Lance Stout 2014-08-21 10:05:42 -07:00
parent e5e2fbb16b
commit aabec8b993
2 changed files with 15 additions and 1 deletions

View File

@ -195,7 +195,14 @@ class Form(ElementBase):
fields = fields.items() fields = fields.items()
for var, field in fields: for var, field in fields:
field['var'] = var field['var'] = var
self.add_field(**field) self.add_field(
var = field.get('var'),
label = field.get('label'),
desc = field.get('desc'),
required = field.get('required'),
value = field.get('value'),
options = field.get('options'),
type = field.get('type'))
def set_instructions(self, instructions): def set_instructions(self, instructions):
del self['instructions'] del self['instructions']

View File

@ -19,6 +19,7 @@ import logging
import weakref import weakref
from xml.etree import cElementTree as ET from xml.etree import cElementTree as ET
from sleekxmpp.util import safedict
from sleekxmpp.xmlstream import JID from sleekxmpp.xmlstream import JID
from sleekxmpp.xmlstream.tostring import tostring from sleekxmpp.xmlstream.tostring import tostring
from sleekxmpp.thirdparty import OrderedDict from sleekxmpp.thirdparty import OrderedDict
@ -679,6 +680,8 @@ class ElementBase(object):
if lang and attrib in self.lang_interfaces: if lang and attrib in self.lang_interfaces:
kwargs['lang'] = lang kwargs['lang'] = lang
kwargs = safedict(kwargs)
if attrib == 'substanzas': if attrib == 'substanzas':
return self.iterables return self.iterables
elif attrib in self.interfaces or attrib == 'lang': elif attrib in self.interfaces or attrib == 'lang':
@ -755,6 +758,8 @@ class ElementBase(object):
if lang and attrib in self.lang_interfaces: if lang and attrib in self.lang_interfaces:
kwargs['lang'] = lang kwargs['lang'] = lang
kwargs = safedict(kwargs)
if attrib in self.interfaces or attrib == 'lang': if attrib in self.interfaces or attrib == 'lang':
if value is not None: if value is not None:
set_method = "set_%s" % attrib.lower() set_method = "set_%s" % attrib.lower()
@ -841,6 +846,8 @@ class ElementBase(object):
if lang and attrib in self.lang_interfaces: if lang and attrib in self.lang_interfaces:
kwargs['lang'] = lang kwargs['lang'] = lang
kwargs = safedict(kwargs)
if attrib in self.interfaces or attrib == 'lang': if attrib in self.interfaces or attrib == 'lang':
del_method = "del_%s" % attrib.lower() del_method = "del_%s" % attrib.lower()
del_method2 = "del%s" % attrib.title() del_method2 = "del%s" % attrib.title()