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))
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)
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))
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)))