Example #1
0
def note_cancel_cut():
    """
    取消剪切
    """
    if 'note_cut_id' in session:
        del session['note_cut_id']
    return Resp(Resp.SUCCESS).to_json()
Example #2
0
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()
Example #3
0
File: home.py Project: rzte/blog
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()
Example #4
0
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()
Example #5
0
File: error.py Project: rzte/blog
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
Example #6
0
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()
Example #7
0
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()
Example #8
0
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()
Example #9
0
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()
Example #10
0
File: home.py Project: rzte/blog
def logout():
    session.clear()
    return Resp(Resp.SUCCESS).to_json()