Exemplo n.º 1
0
 def __set__(self, instance, value):
     try:
         value = validate_value(self.datatype, value)
     except ValueError as e:
         raise exc.InvalidInput(self.name, value, six.text_type(e))
     dataholder = self._get_dataholder(instance)
     if value is Unset:
         if hasattr(dataholder, self.key):
             delattr(dataholder, self.key)
     else:
         setattr(dataholder, self.key, value)
Exemplo n.º 2
0
def binary_fromsoap(datatype, el, ns):
    if el.get(nil_qn) == 'true':
        return None
    if el.get(type_qn) not in (None, 'xs:base64Binary'):
        raise exc.InvalidInput(el.tag, ET.tostring(el))
    return base64.decodestring(el.text.encode('ascii'))
Exemplo n.º 3
0
def datetime_fromsoap(datatype, el, ns):
    if el.get(nil_qn) == 'true':
        return None
    if el.get(type_qn) not in (None, 'xs:dateTime'):
        raise exc.InvalidInput(el.tag, ET.tostring(el))
    return parse_isodatetime(el.text)
Exemplo n.º 4
0
def bool_fromsoap(datatype, el, ns):
    if el.get(nil_qn) == 'true':
        return None
    if el.get(type_qn) not in (None, 'xs:boolean'):
        raise exc.InvalidInput(el.tag, ET.tostring(el))
    return el.text.lower() != 'false'
Exemplo n.º 5
0
def text_fromsoap(datatype, el, ns):
    if el.get(nil_qn) == 'true':
        return None
    if el.get(type_qn) not in (None, 'xs:string'):
        raise exc.InvalidInput(el.tag, ET.tostring(el))
    return datatype(el.text if el.text else '')
Exemplo n.º 6
0
def bytes_fromsoap(datatype, el, ns):
    if el.get(nil_qn) == 'true':
        return None
    if el.get(type_qn) not in (None, 'xs:string'):
        raise exc.InvalidInput(el.tag, ET.tostring(el))
    return el.text.encode('ascii') if el.text else six.b('')