def post(self, *args, **kwargs): if is_json_request(self.request): body = json.loads(self.request.body) body = body.get('data', None) else: body = self.get_argument('data', None) body = escape.json_decode(body) if body else {} # self.send_error(reason="仅支持Content-type:application/json") # return db = self.settings['mongo_client'][self.db] for row in body: id = row.get('id', None) if row.get('_state', None) == 'removed': if self.is_object_id(id): yield db[self.cname].remove({"_id": ObjectId(id)}) if id and self.is_object_id(id): # update row['update_time'] = format_datetime(datetime.now()) row['update_user'] = self.current_user.get('userid', '') yield db[self.cname].update({"_id": ObjectId(id) if self.is_object_id(id) else id}, { "$set": clone_dict(row, without=[]) }) else: obj = clone_dict(row) obj['id'] = ObjectId() obj['_id'] = obj['id'] obj['create_time'] = format_datetime(datetime.now()) obj['create_user'] = self.current_user.get('userid', '') yield db[self.cname].insert(obj) # self.write(generate_response(message="保存成功")) self.send_message("保存成功")
def on_message(self, message): decoded_message = escape.json_decode(message) text = decoded_message.get('message') if not text: self.send_error(reason='Empty text') return db_connection = self.get_db_connection() message = Message(user=self.user, channel=self.channel, text=text) message_repo = MessageRepository(db_connection) yield message_repo.save(message) yield message_repo.publish_message(message) yield self.release_db_connection(db_connection)
def post(self, *args, **kwargs): db = self.settings['mongo_client'][self.db] if 'application/json' in self.request.headers['content-Type']: body = json_decode(self.request.body) if body: data = body.get('data', None) remove_data = body.get('removed', None) else: data = self.get_argument('data', None) remove_data = self.get_argument('removed', None) if data: data_json = escape.json_decode(data) if type(data) == unicode else data list = to_list(data_json, "-1", "children", "id", "pid",self.current_user.get('userid')) for i, item in enumerate(list): yield db[self.cname].save(item) if remove_data: data_json = escape.json_decode(remove_data) list = to_list(data_json, "-1", "children", "id", "pid",self.current_user.get('userid')) for item in list: yield db[self.cname].remove({"_id": item['id']})
async def get(self): _gitlab_id = self.get_query_argument('gitlab_id', False) if not _gitlab_id: _projects = self.db_sesion.query(self.schema.project).all() self.render('project/project.html', projects = _projects) else: _project = self.db_sesion.query(self.schema.project).filter( self.schema.project.gitlab_id == _gitlab_id).one() _commits = await self.get_gitlab_api( '/projects/{project_id}/repository/commits'.format(project_id=_gitlab_id)) _history = self.db_sesion.query(self.schema.deploy_history).filter( self.schema.deploy_history.gitlab_id == _gitlab_id).order_by(self.schema.deploy_history.op_time)[-20:] self.render('project/projectdetails.html', project=_project, commits=escape.json_decode(_commits), history=_history)
def post(self, *args, **kwargs): post_data = escape.json_decode(self.request.body) # todo: validate post date bot_name = post_data.get("name") bot_url = post_data.get("url") self.add_header("Content-Type", "application/json") if bot_name and bot_url: arena = Arena.get_arena() try: bot = arena.register_bot(name=bot_name, url=bot_url) except Arena.BotAlreadyRegisteredException, e: self.send_error(status_code=400, error_message=e.message) return else: response_data = bot.to_json() self.write(response_data)
def post(self,*args,**kwargs): body=escape.json_decode(self.request.body) global todos todos['todos'].append({'text':body.get('text','Empty'),'completed':False}) gen_log.info(todos)