def save(self, where=None, fetch_when_save=None): """ 将对象数据保存至服务器 :return: None :rtype: None """ if where and not isinstance(where, leancloud.Query): raise TypeError('where param type should be leancloud.Query, got %s', type(where)) if where and where._query_class._class_name != self._class_name: raise TypeError('where param\'s class name not equal to the current object\'s class name') if where and self.is_new(): raise TypeError('where params works only when leancloud.Object is saved') unsaved_children = [] unsaved_files = [] self._find_unsaved_children(self._attributes, unsaved_children, unsaved_files) if unsaved_children or unsaved_files: self._deep_save(unsaved_children, unsaved_files, exclude=self._attributes) data = self._dump_save() fetch_when_save = 'true' if fetch_when_save else 'false' if self.is_new(): response = client.post('/classes/{0}?fetchWhenSave={1}'.format(self._class_name, fetch_when_save), data) else: url = '/classes/{0}/{1}?fetchWhenSave={2}'.format(self._class_name, self.id, fetch_when_save) if where: url += '&where=' + json.dumps(where.dump()['where'], separators=(',', ':')) response = client.put(url, data) self._update_data(response.json())
def save(self): """ 将对象数据保存至服务器 :return: None :rtype: None """ unsaved_children = [] unsaved_files = [] self._find_unsaved_children(self.attributes, unsaved_children, unsaved_files) if len(unsaved_children) + len(unsaved_files) > 0: self._deep_save(self.attributes) self._start_save() data = self._dump_save() method = 'PUT' if self.id is not None else 'POST' if method == 'PUT': response = client.put('/classes/{0}/{1}'.format(self._class_name, self.id), data) else: response = client.post('/classes/{0}'.format(self._class_name), data) self._finish_save(self.parse(utils.response_to_json(response), response.status_code))
def update_password(self, old_password, new_password): route = "/users/" + self.id + "/updatePassword" params = {"old_password": old_password, "new_password": new_password} response = client.put(route, params) content = utils.response_to_json(response) server_data = self.parse(content, response.status_code) self._finish_fetch(server_data, True) self._handle_save_result(True)
def update_password(self, old_password, new_password): route = '/users/' + self.id + '/updatePassword' params = {'old_password': old_password, 'new_password': new_password} response = client.put(route, params) content = response.json() server_data = self.parse(content, response.status_code) self._finish_fetch(server_data, True) self._handle_save_result(True)
def refresh_session_token(self): """ 重置当前用户 `session token`。 会使其他客户端已登录用户登录失效。 """ response = client.put('/users/{}/refreshSessionToken'.format(self.id), None) content = response.json() self._update_data(content) self._handle_save_result(False)
def update_password(self, old_password, new_password): route = '/users/' + self.id + '/updatePassword' params = { 'old_password': old_password, 'new_password': new_password } content = client.put(route, params).json() self._update_data(content) self._handle_save_result(True)
def reset_password_by_sms_code(cls, sms_code, new_password): params = {"password": new_password} client.put("/resetPasswordBySmsCode/" + sms_code, params)
def update_password(self, old_password, new_password): route = "/users/" + self.id + "/updatePassword" params = {"old_password": old_password, "new_password": new_password} content = client.put(route, params).json() self._update_data(content) self._handle_save_result(True)
def reset_password_by_sms_code(cls, sms_code, new_password): params = {'password': new_password} client.put("/resetPasswordBySmsCode/" + sms_code, params)