def save_statement(self, statement): """Save statement to LRS and update statement id if necessary :param statement: Statement object to be saved :type statement: :class:`tincan.statement.Statement` :return: LRS Response object with the saved statement as content :rtype: :class:`tincan.lrs_response.LRSResponse` """ if not isinstance(statement, Statement): statement = Statement(statement) request = HTTPRequest(method="POST", resource="statements") if statement.id is not None: request.method = "PUT" request.query_params["statementId"] = statement.id request.headers["Content-Type"] = "application/json" request.content = statement.to_json(self.version) lrs_response = self._send_request(request) if lrs_response.success: if statement.id is None: statement.id = json.loads(lrs_response.data)[0] lrs_response.content = statement return lrs_response
def save_statement(self, statement): """Save statement to LRS and update statement id if necessary :param statement: Statement object to be saved :type statement: :class:`tincan.statement.Statement` :return: LRS Response object with the saved statement as content :rtype: :class:`tincan.lrs_response.LRSResponse` """ if not isinstance(statement, Statement): statement = Statement(statement) request = HTTPRequest( method="POST", resource="statements" ) if statement.id is not None: request.method = "PUT" request.query_params["statementId"] = statement.id request.headers["Content-Type"] = "application/json" request.content = statement.to_json(self.version) lrs_response = self._send_request(request) if lrs_response.success: if statement.id is None: statement.id = json.loads(lrs_response.data)[0] lrs_response.content = statement return lrs_response