@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] == Event.MESSAGE_TYPE))
    if (len(wmsg) not in (4, 5, 6)):
        raise ProtocolError('invalid message length {0} for EVENT'.format(len(wmsg)))
    subscription = check_or_raise_id(wmsg[1], "'subscription' in EVENT")
    publication = check_or_raise_id(wmsg[2], "'publication' in EVENT")
    details = check_or_raise_extra(wmsg[3], "'details' in EVENT")
    args = None
    if (len(wmsg) > 4):
        args = wmsg[4]
        if (type(args) != list):
            raise ProtocolError("invalid type {0} for 'args' in EVENT".format(type(args)))
    kwargs = None
    if (len(wmsg) > 5):
        kwargs = wmsg[5]
        if (type(kwargs) != dict):
            raise ProtocolError("invalid type {0} for 'kwargs' in EVENT".format(type(kwargs)))
    publisher = None
    if (u'publisher' in details):
        detail_publisher = details[u'publisher']
        if (type(detail_publisher) not in six.integer_types):
            raise ProtocolError("invalid type {0} for 'publisher' detail in EVENT".format(type(detail_publisher)))
        publisher = detail_publisher
    obj = Event(subscription, publication, args=args, kwargs=kwargs, publisher=publisher)
    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] == Event.MESSAGE_TYPE))
    if (len(wmsg) not in (4, 5, 6)):
        raise ProtocolError('invalid message length {0} for EVENT'.format(len(wmsg)))
    subscription = check_or_raise_id(wmsg[1], "'subscription' in EVENT")
    publication = check_or_raise_id(wmsg[2], "'publication' in EVENT")
    details = check_or_raise_extra(wmsg[3], "'details' in EVENT")
    args = None
    if (len(wmsg) > 4):
        args = wmsg[4]
        if (type(args) != list):
            raise ProtocolError("invalid type {0} for 'args' in EVENT".format(type(args)))
    kwargs = None
    if (len(wmsg) > 5):
        kwargs = wmsg[5]
        if (type(kwargs) != dict):
            raise ProtocolError("invalid type {0} for 'kwargs' in EVENT".format(type(kwargs)))
    publisher = None
    if (u'publisher' in details):
        detail_publisher = details[u'publisher']
        if (type(detail_publisher) not in six.integer_types):
            raise ProtocolError("invalid type {0} for 'publisher' detail in EVENT".format(type(detail_publisher)))
        publisher = detail_publisher
    obj = Event(subscription, publication, args=args, kwargs=kwargs, publisher=publisher)
    return obj