def user(): session = Sessions.get() if session: user = session.user return jsonify({"username": user.username}) else: return jsonify("nosession")
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))
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'))
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'))
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)
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)
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)