Exemplo n.º 1
0
def check_response_body(response_body):
    """
    检查 response body: ret_code 不为 0 时抛出 :class:`ResponseError` 异常

    :param response_body: response body
    """

    try:
        base_response = response_body['BaseResponse']
        ret = base_response['Ret']
        err_msg = base_response['ErrMsg']
    except KeyError:
        pass
    else:
        if ret != 0:
            raise ResponseError('ret: {}; err_msg: {}'.format(ret, err_msg))
Exemplo n.º 2
0
def check_response_body(response_body):
    """
    检查 response body: err_code 不为 0 时抛出 :class:`ResponseError` 异常

    :param response_body: response body
    """

    try:
        base_response = response_body['BaseResponse']
        err_code = base_response['Ret']
        err_msg = base_response['ErrMsg']
    except KeyError:
        pass
    else:
        if err_code != 0:
            if int(err_code) > 0:
                err_msg = decode_text_from_webwx(err_msg)
            raise ResponseError(err_code=err_code, err_msg=err_msg)
Exemplo n.º 3
0
def check_response_body(response_body):
    """
    检查 response body: err_code 不为 0 时抛出 :class:`ResponseError` 异常

    :param response_body: response body
    """

    try:
        base_response = response_body['BaseResponse']
        err_code = base_response['Ret']
        err_msg = base_response['ErrMsg']
    except KeyError:
        pass
    else:
        if err_code != 0:
            if isinstance(err_msg, str):
                err_msg = err_msg.encode('raw_unicode_escape').decode()
            raise ResponseError(dict(err_code=err_code, err_msg=err_msg))
Exemplo n.º 4
0
    def create_group(self, users, topic=None):
        """
        创建一个新的群聊

        :param users: 用户列表
        :param topic: 群名称
        :return: 若建群成功,返回一个新的群聊对象
        """
        @handle_response()
        def request():
            return self.core.create_chatroom(memberList=wrap_user_name(users),
                                             topic=topic or '')

        ret = request()
        user_name = ret.get('ChatRoomName')
        if user_name:
            return Group(self.core.update_chatroom(userName=user_name), self)
        else:
            raise ResponseError('Failed to create group:\n{}'.format(
                pformat(ret)))