@staticmethod
def parse(wmsg):
    '\n      Verifies and parses an unserialized raw message into an actual WAMP message instance.\n\n      :param wmsg: The unserialized raw message.\n      :type wmsg: list\n\n      :returns: An instance of this class.\n      '
    assert ((len(wmsg) > 0) and (wmsg[0] == Result.MESSAGE_TYPE))
    if (len(wmsg) not in (3, 4, 5)):
        raise ProtocolError('invalid message length {0} for RESULT'.format(len(wmsg)))
    request = check_or_raise_id(wmsg[1], "'request' in RESULT")
    details = check_or_raise_extra(wmsg[2], "'details' in RESULT")
    args = None
    if (len(wmsg) > 3):
        args = wmsg[3]
        if (type(args) != list):
            raise ProtocolError("invalid type {0} for 'args' in RESULT".format(type(args)))
    kwargs = None
    if (len(wmsg) > 4):
        kwargs = wmsg[4]
        if (type(kwargs) != dict):
            raise ProtocolError("invalid type {0} for 'kwargs' in RESULT".format(type(kwargs)))
    progress = None
    if (u'progress' in details):
        detail_progress = details[u'progress']
        if (type(detail_progress) != bool):
            raise ProtocolError("invalid type {0} for 'progress' option in RESULT".format(type(detail_progress)))
        progress = detail_progress
    obj = Result(request, args=args, kwargs=kwargs, progress=progress)
    return obj
Verifies and parses an unserialized raw message into an actual WAMP message instance.

:param wmsg: The unserialized raw message.
:type wmsg: list

:returns: An instance of this class.
@staticmethod
def parse(wmsg):
    '\n      Verifies and parses an unserialized raw message into an actual WAMP message instance.\n\n      :param wmsg: The unserialized raw message.\n      :type wmsg: list\n\n      :returns: An instance of this class.\n      '
    assert ((len(wmsg) > 0) and (wmsg[0] == Result.MESSAGE_TYPE))
    if (len(wmsg) not in (3, 4, 5)):
        raise ProtocolError('invalid message length {0} for RESULT'.format(len(wmsg)))
    request = check_or_raise_id(wmsg[1], "'request' in RESULT")
    details = check_or_raise_extra(wmsg[2], "'details' in RESULT")
    args = None
    if (len(wmsg) > 3):
        args = wmsg[3]
        if (type(args) != list):
            raise ProtocolError("invalid type {0} for 'args' in RESULT".format(type(args)))
    kwargs = None
    if (len(wmsg) > 4):
        kwargs = wmsg[4]
        if (type(kwargs) != dict):
            raise ProtocolError("invalid type {0} for 'kwargs' in RESULT".format(type(kwargs)))
    progress = None
    if (u'progress' in details):
        detail_progress = details[u'progress']
        if (type(detail_progress) != bool):
            raise ProtocolError("invalid type {0} for 'progress' option in RESULT".format(type(detail_progress)))
        progress = detail_progress
    obj = Result(request, args=args, kwargs=kwargs, progress=progress)
    return obj