def simplify(object, level=0):
    
    if level > 10:
        return object
    
    if isinstance( object, faultType ):
        if object.faultstring == "Required Header Misunderstood":
            raise RequiredHeaderMismatch(object.detail)
        elif object.faultstring == "Method Not Found":
            raise MethodNotFound(object.detail)
        elif object.faultstring == "Authorization Failed":
            raise AuthorizationFailed(object.detail)
        elif object.faultstring == "Method Failed":
            raise MethodFailed(object.detail)
        else:
            se = SOAPException(object.faultcode, object.faultstring,
                               object.detail)
            raise se
    elif isinstance( object, arrayType ):
        data = object._aslist()
        for k in range(len(data)):
            data[k] = simplify(data[k], level=level+1)
        return data
    elif isinstance( object, compoundType ) or isinstance(object, structType):
        data = object._asdict()
        for k in data.keys():
            if isPublic(k):
                data[k] = simplify(data[k], level=level+1)
        return data
    elif type(object)==DictType:
        for k in object.keys():
            if isPublic(k):
                object[k] = simplify(object[k])
        return object
    elif type(object)==list:
        for k in range(len(object)):
            object[k] = simplify(object[k])
        return object
    else:
        return object
Convert the SOAPpy objects and thier contents to simple python types.
dataset/ETHPy150Open AppScale/appscale/AppServer/google/appengine/api/SOAPpy/Types.py/simplify