コード例 #1
0
ファイル: site.py プロジェクト: darth30joker/OldPasteCookie
def index():
    g.new_pastes = Paste.query.filter_by(is_private=False).filter_by(
        is_delete=False).order_by('created_time DESC')[:PAGE_SIZE]
    g.top_tags = Tag.query.order_by('times DESC')[:SIDEBAR_PAGE_SIZE]
    g.users = User.query.order_by('created_time DESC')[:SIDEBAR_PAGE_SIZE]
    #import pdb; pdb.set_trace()
    return render('siteview/index.html')
コード例 #2
0
ファイル: user.py プロジェクト: david-xie/OldPasteCookie
def openid():
    """
    这个函数用来更换OpenID
    """
    if request.method == "POST":
        return oid.try_login(COMMON_PROVIDERS.get(openid, "google"),
                                 ask_for=['email', 'nickname'])
    return render('userview/openid.html')
コード例 #3
0
ファイル: user.py プロジェクト: darth30joker/OldPasteCookie
def openid():
    """
    这个函数用来更换OpenID
    """
    if request.method == "POST":
        return oid.try_login(COMMON_PROVIDERS.get(openid, "google"),
                             ask_for=['email', 'nickname'])
    return render('userview/openid.html')
コード例 #4
0
ファイル: site.py プロジェクト: david-xie/OldPasteCookie
def posts():
    page = request.args.get('page', 1)
    try:
        page = int(page)
    except:
        page = 1
    g.pagination = Post.query.order_by("created_time DESC").paginate(page, 10)
    return render('siteview/posts.html')
コード例 #5
0
ファイル: rank.py プロジェクト: darth30joker/OldPasteCookie
def rank():
    g.top_tags = Tag.query.order_by('times DESC')[:SIDEBAR_PAGE_SIZE]
    g.top_view_pastes = Paste.query.filter_by(is_private=False).filter_by(
        is_delete=False).order_by('view_num DESC')[:SIDEBAR_PAGE_SIZE]
    g.top_comment_pastes = Paste.query.filter_by(
        is_private=False).order_by('comment_num DESC')[:SIDEBAR_PAGE_SIZE]
    g.users = User.query.order_by('paste_num DESC')[:SIDEBAR_PAGE_SIZE]
    return render('rankview/rank.html')
コード例 #6
0
ファイル: site.py プロジェクト: darth30joker/OldPasteCookie
def posts():
    page = request.args.get('page', 1)
    try:
        page = int(page)
    except:
        page = 1
    g.pagination = Post.query.order_by("created_time DESC").paginate(page, 10)
    return render('siteview/posts.html')
コード例 #7
0
ファイル: paste.py プロジェクト: darth30joker/OldPasteCookie
def view(paste_id):
    model = Paste.query.get_or_404(paste_id)
    output = request.args.get('output', None)
    if output == 'raw':
        resp = make_response(model.content, 200)
        resp.headers['Content-Type'] = 'text/plain; charset=utf-8'
        return resp
    user = getUserObject()
    form = CommentForm(request.form, csrf_enabled=False)
    if request.method == 'POST':
        if user:
            if form.validate():
                content, users = get_usernames_from_comment(form.content.data)
                comment = PasteComment(user.id, model.id, content)
                model.comment_num = model.comment_num + 1
                if user.id != model.user_id:
                    if user not in model.followers:
                        model.followers.append(user)
                db.session.add(comment)
                mt = MessageTemplate.query.filter_by(
                    used_for='new_comment').first()
                if mt:
                    if model.followers:
                        for to_user in model.followers:
                            if to_user.id != user.id:
                                message = Message(
                                    user.id, to_user.id,
                                    mt.title % model.title,
                                    mt.content % (model.title,
                                                  url_for('pasteview.view',
                                                          paste_id=paste_id)))
                                db.session.add(message)
                mt = MessageTemplate.query.filter_by(
                    used_for='new_comment_has_user').first()
                if mt:
                    if users:
                        for to_user in users:
                            if to_user.id != user.id:
                                message = Message(
                                    user.id, to_user.id, mt.title,
                                    mt.content % url_for('pasteview.view',
                                                         paste_id=paste_id))
                                db.session.add(message)
                return redirect(url_for('pasteview.view', paste_id=paste_id))
    updateViewTimes(model, paste_id)
    lexer = find_lexer_class(model.syntax.name)
    formatter = HtmlFormatter(linenos='table', cssclass="source")
    g.code = highlight(model.content, lexer(stripall=True), formatter)
    g.model = model
    g.user = user
    g.form = form
    g.top_users = User.query.order_by('-paste_num')[:PAGE_SIZE]
    g.top_tags = Tag.query.order_by('-times')[:PAGE_SIZE]
    g.syntax_theme = request.args.get(
        'css', app.config.get('DEFAULT_SYNTAX_CSS_FILE'))
    g.css_file = "/static/css/themes/%s.css" % g.syntax_theme
    #g.syntax_themes = SyntaxTheme.get_all_syntax_themes()
    return render('pasteview/view.html')
コード例 #8
0
ファイル: user.py プロジェクト: darth30joker/OldPasteCookie
def view(user_id=None, slug=None):
    if slug:
        model = getUserObject(slug=slug)
    elif user_id:
        model = getUserObject(user_id=user_id)
    if model:
        g.model = model
        return render('userview/view.html')
    abort(404)
コード例 #9
0
ファイル: user.py プロジェクト: david-xie/OldPasteCookie
def view(user_id=None, slug=None):
    if slug:
        model = getUserObject(slug=slug)
    elif user_id:
        model = getUserObject(user_id=user_id)
    if model:
        g.model = model
        return render('userview/view.html')
    abort(404)
コード例 #10
0
ファイル: tag.py プロジェクト: david-xie/OldPasteCookie
def view(tag_name):
    """
    """
    model = Tag.query.filter_by(name=tag_name).first_or_404()
    g.model = model
    g.pastes = Paste.query.join(Paste.tags).filter(Paste.tags.contains(g.model)).filter(Paste.is_private==False).order_by('pastes.created_time DESC').paginate(1, PAGE_SIZE)
    g.top_tags = Tag.query.order_by('times DESC').all()
    g.users = User.query.order_by("paste_num DESC").all()[:SIDEBAR_PAGE_SIZE]
    return render('tagview/view.html')
コード例 #11
0
ファイル: paste.py プロジェクト: darth30joker/OldPasteCookie
def create():
    form = PasteForm(request.form, csrf_enabled=False)
    if request.method == 'POST' and form.validate():
        user = g.user
        paste = Paste(form.syntax.data, user.id)
        file = request.files.get('code_file', None)
        if file:
            paste.content = file.stream.read()
        elif form.content.data:
            paste.content = form.content.data
        if form.title.data:
            paste.title = form.title.data
        if form.description.data:
            paste.description = form.description.data
        if form.is_private.data:
            paste.is_private = True
        user.paste_num = user.paste_num + 1
        paste.followers.append(user)
        db.session.add(user)
        db.session.add(paste)
        syntax_obj = Syntax.query.filter_by(id=form.syntax.data).first()
        tags = [syntax_obj.tag]
        if form.tag.data:
            tags.extend(form.tag.data.split())
        Tag.updateTags(paste, tags)
        try:
            db.session.commit()
        except:
            db.session.rollback()
            abort(500)
        if user.followers:
            mt = MessageTemplate.query.filter_by(
                used_for='create_paste').first()
            if mt:
                for to_user in user.followers:
                    message = Message(
                        user.id, to_user.id, mt.title % user.nickname,
                        mt.content %
                        (user.nickname, paste.title,
                         url_for('pasteview.view', paste_id=paste.id)))
                    db.session.add(message)
        mt = MessageTemplate.query.filter_by(
            used_for='create_paste_by_tag').first()
        if mt:
            for tag in paste.tags:
                for to_user in tag.followers:
                    if to_user.id != user.id:
                        message = Message(
                            user.id, to_user.id, mt.title % tag.name,
                            mt.content %
                            (tag.name, paste.title,
                             url_for('pasteview.view', paste_id=paste.id)))
                        db.session.add(message)
        return redirect(url_for('pasteview.view', paste_id=paste.id))
    g.form = form
    return render('pasteview/create.html')
コード例 #12
0
ファイル: user.py プロジェクト: david-xie/OldPasteCookie
def password():
    form = PasswordForm(request.form, csrf_enabled=False)
    if request.method == 'POST' and form.validate():
        user = getUserObject()
        user.password = hash_password(form.new_password.data)
        db.session.add(user)
        flash(u'密码修改成功', 'success')
        redirect(url_for('userview.logout'))
    g.form = form
    return render('userview/password.html')
コード例 #13
0
ファイル: site.py プロジェクト: darth30joker/OldPasteCookie
def search():
    keyword = request.args.get('keyword', '')
    if keyword:
        g.users = User.query.filter(User.nickname.like("%" + keyword + "%"))
        g.pastes = Paste.query.filter(Paste.title.like("%" + keyword + "%"))
        g.tags = Tag.query.filter(Tag.name.like("%" + keyword + "%"))
        g.keyword = keyword
    g.top_tags = Tag.query.order_by('times DESC')[:SIDEBAR_PAGE_SIZE]
    g.top_users = User.query.order_by('paste_num DESC')[:SIDEBAR_PAGE_SIZE]
    return render('siteview/search.html')
コード例 #14
0
ファイル: site.py プロジェクト: david-xie/OldPasteCookie
def search():
    keyword = request.args.get('keyword', '')
    if keyword:
        g.users = User.query.filter(User.nickname.like("%" + keyword + "%"))
        g.pastes = Paste.query.filter(Paste.title.like("%" + keyword + "%"))
        g.tags = Tag.query.filter(Tag.name.like("%" + keyword + "%"))
        g.keyword = keyword
    g.top_tags = Tag.query.order_by('times DESC')[:SIDEBAR_PAGE_SIZE]
    g.top_users = User.query.order_by('paste_num DESC')[:SIDEBAR_PAGE_SIZE]
    return render('siteview/search.html')
コード例 #15
0
ファイル: user.py プロジェクト: darth30joker/OldPasteCookie
def password():
    form = PasswordForm(request.form, csrf_enabled=False)
    if request.method == 'POST' and form.validate():
        user = getUserObject()
        user.password = hash_password(form.new_password.data)
        db.session.add(user)
        flash(u'密码修改成功', 'success')
        redirect(url_for('userview.logout'))
    g.form = form
    return render('userview/password.html')
コード例 #16
0
ファイル: paste.py プロジェクト: david-xie/OldPasteCookie
def view(paste_id):
    model = Paste.query.get_or_404(paste_id)
    output = request.args.get('output', None)
    if output == 'raw':
        resp = make_response(model.content, 200)
        resp.headers['Content-Type'] = 'text/plain; charset=utf-8'
        return resp
    user = getUserObject()
    form = CommentForm(request.form, csrf_enabled=False)
    if request.method == 'POST':
        if user:
            if form.validate():
                content, users = get_usernames_from_comment(form.content.data)
                comment = PasteComment(user.id, model.id, content)
                model.comment_num = model.comment_num + 1
                if user.id != model.user_id:
                    if user not in model.followers:
                        model.followers.append(user)
                db.session.add(comment)
                mt = MessageTemplate.query.filter_by(used_for='new_comment').first()
                if mt:
                    if model.followers:
                        for to_user in model.followers:
                            if to_user.id != user.id:
                                message = Message(user.id,
                                                  to_user.id,
                                                  mt.title % model.title,
                                                  mt.content % (model.title, url_for('pasteview.view', paste_id=paste_id)))
                                db.session.add(message)
                mt = MessageTemplate.query.filter_by(used_for='new_comment_has_user').first()
                if mt:
                    if users:
                        for to_user in users:
                            if to_user.id != user.id:
                                message = Message(user.id,
                                                  to_user.id,
                                                  mt.title,
                                                  mt.content % url_for('pasteview.view', paste_id=paste_id))
                                db.session.add(message)
                return redirect(url_for('pasteview.view', paste_id=paste_id))
    updateViewTimes(model, paste_id)
    lexer = find_lexer_class(model.syntax.name)
    formatter = HtmlFormatter(linenos='table', cssclass="source")
    g.code = highlight(model.content, lexer(stripall=True), formatter)
    g.model = model
    g.user = user
    g.form = form
    g.top_users = User.query.order_by('-paste_num')[:PAGE_SIZE]
    g.top_tags = Tag.query.order_by('-times')[:PAGE_SIZE]
    g.syntax_theme = request.args.get('css', app.config.get('DEFAULT_SYNTAX_CSS_FILE'))
    g.css_file = "/static/css/themes/%s.css" % g.syntax_theme
    #g.syntax_themes = SyntaxTheme.get_all_syntax_themes()
    return render('pasteview/view.html')
コード例 #17
0
ファイル: paste.py プロジェクト: david-xie/OldPasteCookie
def create():
    form = PasteForm(request.form, csrf_enabled=False)
    if request.method == 'POST' and form.validate():
        user = g.user
        paste = Paste(form.syntax.data,
                      user.id)
        file = request.files.get('code_file', None)
        if file:
            paste.content = file.stream.read()
        elif form.content.data:
            paste.content = form.content.data
        if form.title.data:
            paste.title = form.title.data
        if form.description.data:
            paste.description = form.description.data
        if form.is_private.data:
            paste.is_private = True
        user.paste_num = user.paste_num + 1
        paste.followers.append(user)
        db.session.add(user)
        db.session.add(paste)
        syntax_obj = Syntax.query.filter_by(id=form.syntax.data).first()
        tags = [syntax_obj.tag]
        if form.tag.data:
            tags.extend(form.tag.data.split())
        Tag.updateTags(paste, tags)
        try:
            db.session.commit()
        except:
            db.session.rollback()
            abort(500)
        if user.followers:
            mt = MessageTemplate.query.filter_by(used_for='create_paste').first()
            if mt:
                for to_user in user.followers:
                    message = Message(user.id,
                                      to_user.id,
                                      mt.title % user.nickname,
                                      mt.content % (user.nickname, paste.title, url_for('pasteview.view', paste_id=paste.id)))
                    db.session.add(message)
        mt = MessageTemplate.query.filter_by(used_for='create_paste_by_tag').first()
        if mt:
            for tag in paste.tags:
                for to_user in tag.followers:
                    if to_user.id != user.id:
                        message = Message(user.id,
                                          to_user.id,
                                          mt.title % tag.name,
                                          mt.content % (tag.name, paste.title, url_for('pasteview.view', paste_id=paste.id)))
                        db.session.add(message)
        return redirect(url_for('pasteview.view', paste_id=paste.id))
    g.form = form
    return render('pasteview/create.html')
コード例 #18
0
ファイル: user.py プロジェクト: darth30joker/OldPasteCookie
def create_profile():
    form = ProfileForm(request.form)
    form.nickname.data = request.values.get('nickname')
    form.email.data = request.values.get('email')
    if request.method == 'POST' and form.validate():
        user = User(form.nickname.data, form.email.data)
        user.openid = session['openid']
        info = UserInfo(user.id)
        user.info = info
        db.session.add(user)
        db.session.add(info)
        db.session.commit()
        flash(u'资料建立成功', 'success')
        session.pop('openid')
        session['user'] = user.id
        return redirect("/")
    g.form = form
    return render('userview/create_profile.html', next_url=oid.get_next_url())
コード例 #19
0
ファイル: user.py プロジェクト: david-xie/OldPasteCookie
def manage():
    form = UserInfoForm(request.form, csrf_enabled=False)
    user = getUserObject()
    if request.method == 'POST' and form.validate():
        user.nickname = form.nickname.data
        user.info.motoo = form.motoo.data
        user.info.introduction = form.introduction.data
        db.session.add(user)
        flash(u'信息修改成功', 'success')
        return redirect(url_for('userview.manage'))
    if request.method == 'GET':
        form.motoo.data = user.info.motoo
        form.introduction.data = user.info.introduction
        form.nickname.data = user.nickname
    if form.errors:
        for error in form.errors:
            flash(form.errors[error][0], 'error')
    g.form = form
    return render('userview/manage.html')
コード例 #20
0
ファイル: user.py プロジェクト: darth30joker/OldPasteCookie
def register():
    form = RegisterForm(request.form, csrf_enabled=False)
    g.form = form
    if 'user' in session:
        flash(u'请先登出再注册新用户', 'error')
        return render('userview/register.html')
    if request.method == 'POST' and form.validate():
        user = User(form.nickname.data, form.email.data)
        user.set_password(form.password.data)
        info = UserInfo(user.id)
        user.info = info
        db.session.add(user)
        db.session.add(info)
        try:
            db.session.commit()
        except Exception, e:
            abort(500)
        flash(u'注册成功!', 'success')
        return redirect(url_for('userview.login'))
コード例 #21
0
ファイル: user.py プロジェクト: darth30joker/OldPasteCookie
def manage():
    form = UserInfoForm(request.form, csrf_enabled=False)
    user = getUserObject()
    if request.method == 'POST' and form.validate():
        user.nickname = form.nickname.data
        user.info.motoo = form.motoo.data
        user.info.introduction = form.introduction.data
        db.session.add(user)
        flash(u'信息修改成功', 'success')
        return redirect(url_for('userview.manage'))
    if request.method == 'GET':
        form.motoo.data = user.info.motoo
        form.introduction.data = user.info.introduction
        form.nickname.data = user.nickname
    if form.errors:
        for error in form.errors:
            flash(form.errors[error][0], 'error')
    g.form = form
    return render('userview/manage.html')
コード例 #22
0
ファイル: user.py プロジェクト: david-xie/OldPasteCookie
def create_profile():
    form = ProfileForm(request.form)
    form.nickname.data = request.values.get('nickname')
    form.email.data = request.values.get('email')
    if request.method == 'POST' and form.validate():
        user = User(form.nickname.data,
                    form.email.data)
        user.openid = session['openid']
        info = UserInfo(user.id)
        user.info = info
        db.session.add(user)
        db.session.add(info)
        db.session.commit()
        flash(u'资料建立成功', 'success')
        session.pop('openid')
        session['user'] = user.id
        return redirect("/")
    g.form = form
    return render('userview/create_profile.html', next_url=oid.get_next_url())
コード例 #23
0
ファイル: user.py プロジェクト: david-xie/OldPasteCookie
def register():
    form = RegisterForm(request.form, csrf_enabled=False)
    g.form = form
    if 'user' in session:
        flash(u'请先登出再注册新用户', 'error')
        return render('userview/register.html')
    if request.method == 'POST' and form.validate():
        user = User(form.nickname.data,
                    form.email.data)
        user.set_password(form.password.data)
        info = UserInfo(user.id)
        user.info = info
        db.session.add(user)
        db.session.add(info)
        try:
            db.session.commit()
        except Exception, e:
            abort(500)
        flash(u'注册成功!', 'success')
        return redirect(url_for('userview.login'))
コード例 #24
0
ファイル: paste.py プロジェクト: darth30joker/OldPasteCookie
def edit(paste_id):
    model = Paste.query.get_or_404(paste_id)
    user = getUserObject()
    g.syntax = Syntax.get_syntax_list()
    if (model.user.id != user.id) and (not user.check_privilege(4)):
        abort(403)
    form = PasteForm(request.form, csrf_enabled=False)
    if request.method == 'GET':
        form.title.data = model.title
        form.content.data = model.content
        form.syntax.data = str(model.syntax_id)
        form.tag.data = ' '.join([tag.name for tag in model.tags])
    elif request.method == 'POST' and form.validate():
        model.title = form.title.data
        model.content = form.content.data
        if form.description.data:
            model.description = form.description.data
        syntax = Syntax.query.filter_by(id=form.syntax.data).first()
        model.syntax_id = syntax.id
        model.modified_time = datetime.now()
        if form.is_private.data:
            model.is_private = True
        tags = form.tag.data.strip().split()
        Tag.updateTags(model, set(tags))
        db.session.add(model)
        if user.followers:
            mt = MessageTemplate.query.filter_by(
                used_for='update_paste').first()
            if mt:
                for to_user in user.followers:
                    message = Message(
                        user.id, to_user.id, mt.title % model.title,
                        mt.content %
                        (model.title,
                         url_for('pasteview.view', paste_id=model.id)))
                    db.session.add(message)
        return redirect(url_for('pasteview.view', paste_id=model.id))
    g.model = model
    g.form = form
    #g.syntax = Syntax.get_syntax_list()
    return render('pasteview/edit.html')
コード例 #25
0
ファイル: paste.py プロジェクト: david-xie/OldPasteCookie
def edit(paste_id):
    model = Paste.query.get_or_404(paste_id)
    user = getUserObject()
    g.syntax = Syntax.get_syntax_list()
    if (model.user.id != user.id) and (not user.check_privilege(4)):
        abort(403)
    form = PasteForm(request.form, csrf_enabled=False)
    if request.method == 'GET':
        form.title.data = model.title
        form.content.data = model.content
        form.syntax.data = str(model.syntax_id)
        form.tag.data = ' '.join([tag.name for tag in model.tags])
    elif request.method == 'POST' and form.validate():
        model.title = form.title.data
        model.content = form.content.data
        if form.description.data:
            model.description = form.description.data
        syntax = Syntax.query.filter_by(id=form.syntax.data).first()
        model.syntax_id = syntax.id
        model.modified_time = datetime.now()
        if form.is_private.data:
            model.is_private = True
        tags = form.tag.data.strip().split()
        Tag.updateTags(model, set(tags))
        db.session.add(model)
        if user.followers:
            mt = MessageTemplate.query.filter_by(used_for='update_paste').first()
            if mt:
                for to_user in user.followers:
                    message = Message(user.id,
                                      to_user.id,
                                      mt.title % model.title,
                                      mt.content % (model.title, url_for('pasteview.view', paste_id=model.id)))
                    db.session.add(message)
        return redirect(url_for('pasteview.view', paste_id=model.id))
    g.model = model
    g.form = form
    #g.syntax = Syntax.get_syntax_list()
    return render('pasteview/edit.html')
コード例 #26
0
ファイル: user.py プロジェクト: darth30joker/OldPasteCookie
def login():
    if g.user is not None:
        return redirect(oid.get_next_url())
    form = LoginForm(request.form, csrf_enabled=False)
    if request.method == 'POST':
        openid = request.form.get('openid', None)
        if openid:
            return oid.try_login(COMMON_PROVIDERS.get(openid, "google"),
                                 ask_for=['email', 'nickname'])
        if form.validate():
            user = User.query.filter_by(email=form.email.data).first()
            if user:
                if user.password == hash_password(form.password.data):
                    user.last_login_time = datetime.now()
                    session['user'] = str(user.id)
                    flash(u'成功登入', 'success')
                    return redirect(request.args.get('next', '/'))
                else:
                    flash(u'用户名/密码错误', 'error')
    g.form = form
    return render('userview/login.html',
                  next=oid.get_next_url(),
                  error=oid.fetch_error())
コード例 #27
0
ファイル: user.py プロジェクト: david-xie/OldPasteCookie
def login():
    if g.user is not None:
        return redirect(oid.get_next_url())
    form = LoginForm(request.form, csrf_enabled=False)
    if request.method == 'POST':
        openid = request.form.get('openid', None)
        if openid:
            return oid.try_login(COMMON_PROVIDERS.get(openid, "google"),
                                 ask_for=['email', 'nickname'])
        if form.validate():
            user = User.query.filter_by(email=form.email.data).first()
            if user:
                if user.password == hash_password(form.password.data):
                    user.last_login_time = datetime.now()
                    session['user'] = str(user.id)
                    flash(u'成功登入', 'success')
                    return redirect(request.args.get('next', '/'))
                else:
                    flash(u'用户名/密码错误', 'error')
    g.form = form
    return render('userview/login.html',
                  next=oid.get_next_url(),
                  error=oid.fetch_error())
コード例 #28
0
 def page_error(error):
     d['title'] = u'页面出错啦'
     d['message'] = u'您所访问的页面出错啦! 待会再来吧!'
     app.logger.error(str(error))
     return render('error.html', **d), 500
コード例 #29
0
 def page_not_found(error):
     d['title'] = u'页面不存在'
     d['message'] = u'您所访问的页面不存在, 是不是打错地址了啊?'
     return render('error.html', **d), 404
コード例 #30
0
 def permission_error(error):
     d['title'] = u'您没有权限'
     d['message'] = u'您没有权限执行当前的操作, 请登陆或检查url是否错误.'
     return render('error.html', **d), 403
コード例 #31
0
 def page_error(error):
     d['title'] = u'页面出错啦'
     d['message'] = u'您所访问的页面出错啦! 待会再来吧!'
     app.logger.error(str(error))
     return render('error.html', **d), 500
コード例 #32
0
ファイル: site.py プロジェクト: darth30joker/OldPasteCookie
def messages():
    g.model = g.user
    g.messages = Message.query.filter_by(
        to_user_id=g.user.id).order_by("created_time DESC").all()
    return render('siteview/messages.html')
コード例 #33
0
ファイル: site.py プロジェクト: david-xie/OldPasteCookie
def index():
    g.new_pastes = Paste.query.filter_by(is_private=False).filter_by(is_delete=False).order_by('created_time DESC')[:PAGE_SIZE]
    g.top_tags = Tag.query.order_by('times DESC')[:SIDEBAR_PAGE_SIZE]
    g.users = User.query.order_by('created_time DESC')[:SIDEBAR_PAGE_SIZE]
    #import pdb; pdb.set_trace()
    return render('siteview/index.html')
コード例 #34
0
ファイル: site.py プロジェクト: david-xie/OldPasteCookie
def post(object_id=None):
    if not object_id:
        abort(404)
    g.post = Post.query.get_or_404(object_id)
    return render('siteview/post.html')
コード例 #35
0
ファイル: user.py プロジェクト: david-xie/OldPasteCookie
def rss(user_id):
    g.user = User.query.get_or_404(user_id)
    g.pastes = Paste.query.filter_by(user_id=user_id, is_private=False).order_by("created_time DESC").all()
    return render('rss/user.xml')
コード例 #36
0
 def permission_error(error):
     d['title'] = u'您没有权限'
     d['message'] = u'您没有权限执行当前的操作, 请登陆或检查url是否错误.'
     return render('error.html', **d), 403
コード例 #37
0
 def page_not_found(error):
     d['title'] = u'页面不存在'
     d['message'] = u'您所访问的页面不存在, 是不是打错地址了啊?'
     return render('error.html', **d), 404
コード例 #38
0
ファイル: user.py プロジェクト: darth30joker/OldPasteCookie
    if request.method == 'POST' and form.validate():
        user = User(form.nickname.data, form.email.data)
        user.set_password(form.password.data)
        info = UserInfo(user.id)
        user.info = info
        db.session.add(user)
        db.session.add(info)
        try:
            db.session.commit()
        except Exception, e:
            abort(500)
        flash(u'注册成功!', 'success')
        return redirect(url_for('userview.login'))
    flash(u'如果您有google帐号, 可以直接使用google提供的openid方式登录, 请点击登录按钮然后选择google帐号登录',
          'alert')
    return render('userview/register.html')


@userview.route('/manage', methods=['GET', 'POST'])
@login_required
def manage():
    form = UserInfoForm(request.form, csrf_enabled=False)
    user = getUserObject()
    if request.method == 'POST' and form.validate():
        user.nickname = form.nickname.data
        user.info.motoo = form.motoo.data
        user.info.introduction = form.introduction.data
        db.session.add(user)
        flash(u'信息修改成功', 'success')
        return redirect(url_for('userview.manage'))
    if request.method == 'GET':
コード例 #39
0
ファイル: tag.py プロジェクト: david-xie/OldPasteCookie
def rss(tag):
    g.tag = Tag.query.filter_by(name=tag).first()
    if not g.tag:
        abort(404)
    g.pastes = Paste.query.filter(Paste.tags.contains(g.tag)).filter_by(is_private=False).order_by("created_time DESC").all()
    return render('rss/tag.xml')
コード例 #40
0
ファイル: site.py プロジェクト: darth30joker/OldPasteCookie
def rss():
    g.pastes = Paste.query.filter_by(
        is_private=False).order_by("created_time DESC").all()
    return render('rss/site.xml')
コード例 #41
0
ファイル: user.py プロジェクト: david-xie/OldPasteCookie
    if request.method == 'POST' and form.validate():
        user = User(form.nickname.data,
                    form.email.data)
        user.set_password(form.password.data)
        info = UserInfo(user.id)
        user.info = info
        db.session.add(user)
        db.session.add(info)
        try:
            db.session.commit()
        except Exception, e:
            abort(500)
        flash(u'注册成功!', 'success')
        return redirect(url_for('userview.login'))
    flash(u'如果您有google帐号, 可以直接使用google提供的openid方式登录, 请点击登录按钮然后选择google帐号登录', 'alert')
    return render('userview/register.html')

@userview.route('/manage', methods=['GET', 'POST'])
@login_required
def manage():
    form = UserInfoForm(request.form, csrf_enabled=False)
    user = getUserObject()
    if request.method == 'POST' and form.validate():
        user.nickname = form.nickname.data
        user.info.motoo = form.motoo.data
        user.info.introduction = form.introduction.data
        db.session.add(user)
        flash(u'信息修改成功', 'success')
        return redirect(url_for('userview.manage'))
    if request.method == 'GET':
        form.motoo.data = user.info.motoo
コード例 #42
0
ファイル: site.py プロジェクト: darth30joker/OldPasteCookie
def post(object_id=None):
    if not object_id:
        abort(404)
    g.post = Post.query.get_or_404(object_id)
    return render('siteview/post.html')
コード例 #43
0
ファイル: user.py プロジェクト: darth30joker/OldPasteCookie
def rss(user_id):
    g.user = User.query.get_or_404(user_id)
    g.pastes = Paste.query.filter_by(
        user_id=user_id, is_private=False).order_by("created_time DESC").all()
    return render('rss/user.xml')
コード例 #44
0
ファイル: site.py プロジェクト: david-xie/OldPasteCookie
def rss():
    g.pastes = Paste.query.filter_by(is_private=False).order_by("created_time DESC").all()
    return render('rss/site.xml')
コード例 #45
0
ファイル: rank.py プロジェクト: david-xie/OldPasteCookie
def rank():
    g.top_tags = Tag.query.order_by('times DESC')[:SIDEBAR_PAGE_SIZE]
    g.top_view_pastes = Paste.query.filter_by(is_private=False).filter_by(is_delete=False).order_by('view_num DESC')[:SIDEBAR_PAGE_SIZE]
    g.top_comment_pastes = Paste.query.filter_by(is_private=False).order_by('comment_num DESC')[:SIDEBAR_PAGE_SIZE]
    g.users = User.query.order_by('paste_num DESC')[:SIDEBAR_PAGE_SIZE]
    return render('rankview/rank.html')
コード例 #46
0
ファイル: site.py プロジェクト: david-xie/OldPasteCookie
def page(slug=None):
    if not slug:
        abort(404)
    g.page = Page.query.filter_by(slug=slug).first_or_404()
    return render('siteview/page.html')
コード例 #47
0
ファイル: site.py プロジェクト: darth30joker/OldPasteCookie
def page(slug=None):
    if not slug:
        abort(404)
    g.page = Page.query.filter_by(slug=slug).first_or_404()
    return render('siteview/page.html')
コード例 #48
0
ファイル: site.py プロジェクト: david-xie/OldPasteCookie
def messages():
    g.model = g.user
    g.messages = Message.query.filter_by(to_user_id=g.user.id).order_by("created_time DESC").all()
    return render('siteview/messages.html')
コード例 #49
0
ファイル: tag.py プロジェクト: david-xie/OldPasteCookie
def list():
    g.users = User.query.order_by('paste_num DESC')[:SIDEBAR_PAGE_SIZE]
    g.tags = Tag.query.order_by('name').all()
    g.top_tags = Tag.query.order_by('-times')[:PAGE_SIZE]
    return render('tagview/list.html')