def note_cancel_cut(): """ 取消剪切 """ if 'note_cut_id' in session: del session['note_cut_id'] return Resp(Resp.SUCCESS).to_json()
def note_cut(_id): """ 剪切 """ if not re.match(r'^[\d\w]{24,26}$', str(_id)): raise SecException('_id有误!{}'.format(_id)) session['note_cut_id'] = _id # 设置标志 return Resp(Resp.SUCCESS).to_json()
def login(): addr = request.remote_addr form = LoginForm() if not form.validate(): logger.info("{} ... {} ... {} login error...".format( addr, form.username.data, form.password.data)) for error in form.errors.items(): return Resp(Resp.ERROR, error).to_json() user = user_login(form.username.data, form.password.data) if user is None: logger.info("{} ... {} ... {} login error...".format( addr, form.username.data, form.password.data)) return Resp(Resp.ERROR, '账号或密码错误').to_json() logger.info("{} ... {} login in...".format(addr, form.username.data)) session['username'] = user.username session['roles'] = user.roles return Resp(Resp.SUCCESS).to_json()
def note_delete(_id): """ 删除note节点 """ node_lib = NodeLib('note') if not re.match(r'^[\d\w]{24,26}$', str(_id)): raise SecException('id有误') node_lib.drop_node(_id) return Resp(Resp.SUCCESS).to_json()
def sec_exception(e): """ SecExcpetion """ try: addr = request.remote_addr logger.error("{}: {}:".format(session.get('username'), addr), exc_info=1) except Exception as ec: logger.exception(ec) resp = make_response(Resp(Resp.ERROR, str(e)).to_json(), 200) resp.headers['Content-Type'] = "application/json" return resp
def note_edit_content(_id): """ 修改note内容 """ node_lib = NodeLib('note') node = node_lib.find_node(_id) if not isinstance(node, NodeModel): raise SecException('不存在的note: {}'.format(_id)) if 'content' not in request.form: raise SecException('缺少参数!') node_lib.edit_content(node, request.form['content']) return Resp(Resp.SUCCESS, '修改成功!').to_json()
def note_add(_id=None): """ 在_id的节点下添加文件(夹) """ node_lib = NodeLib('note') form = request.form if _id and not re.match(r'^[\d\w]{24,26}$', str(_id)): raise SecException('id有误') if not re.match(r'^[\d\w-]+$', str(form.get('title'))): raise SecException('title有误!') node_model = NodeModel(parent=_id, title=form.get('title'), flag=bool(int(form.get('flag')))) node_lib.create_node(node_model) return Resp(Resp.SUCCESS).to_json()
def note_paste(_id=None): """ 粘贴 要求session中存在 note_cut_id """ if 'note_cut_id' not in session: raise SecException('session中不存在源id') if _id and not re.match(r'^[\d\w]{24,26}$', str(_id)): raise SecException('_id有误!{}'.format(_id)) node_lib = NodeLib('note') node_lib.move_node(session['note_cut_id'], _id) del session['note_cut_id'] return Resp(Resp.SUCCESS).to_json()
def note_edit_title(_id): """ 修改note文件(夹)的标题 """ node_lib = NodeLib('note') node_model = node_lib.find_node(_id) form = request.form if 'new_title' not in form: raise SecException('缺少参数!') if not re.match(r'^[\d\w]{24,26}$', str(_id)) or not re.match(r'^[\d\w-]+$', str(form['new_title'])): raise SecException('参数有误!') node_lib.edit_title(node_model, form['new_title']) return Resp(Resp.SUCCESS, request.form['new_title']).to_json()
def logout(): session.clear() return Resp(Resp.SUCCESS).to_json()