Ignore:
Timestamp:
Jan 13, 2009, 7:30:35 PM (13 years ago)
Author:
Ralph Meijer <ralphm@…>
Branch:
default
Convert:
svn:b33ecbfc-034c-dc11-8662-000475d9059e/trunk@162
Message:

Address Data Form type checking issues.

Author: ralphm.
Reviewer: tofu.
Fixes #41.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wokkel/data_form.py

    r50 r51  
    220220            for value in self.values:
    221221                if self.fieldType == 'boolean':
    222                     # We send out the textual representation of boolean values
    223                     value = bool(int(value))
     222                    if isinstance(value, (str, unicode)):
     223                        checkValue = value.lower()
     224                        if not checkValue in ('0', '1', 'false', 'true'):
     225                            raise ValueError("Not a boolean")
     226                        value = checkValue in ('1', 'true')
     227                    value = bool(value)
    224228                elif self.fieldType in ('jid-single', 'jid-multi'):
    225                     value = value.full()
     229                    if not hasattr(value, 'full'):
     230                        value = JID(value)
    226231
    227232                newValues.append(value)
     
    249254            if self.fieldType == 'boolean':
    250255                value = unicode(value).lower()
     256            elif self.fieldType in ('jid-single', 'jid-multi'):
     257                value = value.full()
     258
    251259            field.addElement('value', content=value)
    252260
Note: See TracChangeset for help on using the changeset viewer.