def post(self, _id): logging.info(_id) try: project = ujson.loads(self.request.body.decode('utf-8')) project = projectmanager.Project(project) #store project on db to get an _id: write_result = yield dbapi.insert('projects', project.value) logging.info(write_result) #add computed data and store them again ... FIX THIS project.set_project_params([cmd.to_ui_command_def() for cmd in ibcommands.commands if cmd.show]) write_result = yield dbapi.update_by_id('projects', project.value["_id"], project.value) logging.info(write_result) self.set_status(200) self.write(json.dumps(project.value, default=json_util.default)) self.set_header("Content-Type", "application/json") except Exception as e: logging.error(e) self.set_status(500) error = {'error': '{}'.format(e)} self.write(json.dumps(error, default=json_util.default)) self.set_header("Content-Type", "application/json")
def post(self, boardid): request_args = ('to', 'from', 'msg') msg = { k: self.get_argument(k) for k in request_args } # Immediately return control to the caller self.set_status(200) self.finish() msg = messageparser.annotate_message(msg) msgs = messageparser.parse_message(copy.deepcopy(msg)) persist_msgs = filter(messageparser.check_persist, msgs) yield [ dbapi.insert('message_logs', msg), dbapi.insert('messages', persist_msgs), self._check_and_forward_messages(msgs) ] self._broadcast({ 'msgs': msgs }) self._process_msgs(msgs)