Example #1
0
    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")
Example #2
0
    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)