예제 #1
0
def user():
    session = Sessions.get()
    if session:
        user = session.user
        return jsonify({"username": user.username})
    else:
        return jsonify("nosession")
예제 #2
0
def unlike():
    aid = int(request.args.get('aid'))
    session = Sessions.get()
    if session:
        user = session.user
        neo4jdb.remove_like_articles(user.id, aid)
    return redirect(url_for('article_page', aid=aid))
예제 #3
0
def like():
    aid = int(request.args.get('aid'))
    session = Sessions.get()
    if session:
        user = session.user
        neo4jdb.add_like_articles(user.id, aid)
        return redirect(url_for('article_page', aid=aid))
    else:
        return redirect(url_for('login'))
예제 #4
0
 def wrapper(*args, **kwargs):
     key = request.cookies.get('user_session')
     if key:
         session = Sessions.get(key)
         if session:
             return function_to_protect(*args, **kwargs)
         else:
             flash("Session does not exist")
             return redirect(url_for('login'))
     else:
         flash("Please log in")
         return redirect(url_for('login'))
예제 #5
0
def profile():
    session = Sessions.get()
    if not session:
        return redirect(url_for('login'))
    else:
        user = session.user
        ids = neo4jdb.get_likes_by_uid(user.id)
        likes = db.get_title_by_aids(ids)
        ids = neo4jdb.find_similar_user_articles(user.id)
        recommends = db.get_title_by_aids(ids)
        return render_template('profile.html',
                               username=user.username,
                               likes=likes,
                               recommends=recommends)
예제 #6
0
def article_page(aid):
    session = Sessions.get()
    like = False
    aid = int(aid)
    if session:
        user = session.user
        neo4jdb.add_read_articles(user.id, aid)
        like = neo4jdb.user_liked_article(user.id, aid)
        other_views = neo4jdb.users_also_viewed(aid, user.id)
    else:
        other_views = neo4jdb.users_also_viewed(aid)
    article = Articles.get_by_id(aid)
    similars = Recommender.find_similar(aid)
    other_views = db.get_title_by_aids(other_views)
    return render_template('detail.html',
                           article=article,
                           similar=similars,
                           like=like,
                           others=other_views)
예제 #7
0
def search():
    session = Sessions.get()
    if session:
        user = session.user
    keyword = request.args.get('keyword')
    search_method = request.args.get('type')
    if not search_method:
        search_method = 'basic'
    if keyword:
        if search_method == 'advanced':
            results = Articles.full_search(keyword)
        elif search_method == 'intelligent':
            results = Articles.lemma_search(keyword)
        else:
            results = Articles.title_search(keyword)
    else:
        results = Articles.list()
    return render_template('search.html',
                           articles=results,
                           method=search_method)