def get_more(): """Handles requests for more post and submissions when a user presses "Show more" """ start = int(request.form.get("start")) rendered_posts = [] template = get_template_attribute('partials/_post.html', "post_template") posts = [] page = request.form.get("page") if page == "home": status = request.form.get("status") if status == "open": posts = Post.get_open_posts(start) if status == "closed": posts = Post.get_closed_posts(start) if status == "archived": posts = Post.get_archived_posts(start) if page == "search": query, difficulty, tag = parse_search_query(request.form.get("query")) posts = Post.get_searched_posts(query, difficulty=difficulty, tag=tag, start=start) if posts: for post in posts: post_html = template(page=page, post=post) rendered_posts += [post_html] return jsonify({ "success": True, "posts": rendered_posts }) else: return jsonify({ "success": False })
def test_post_model_get_closed(self): date = datetime.today() + timedelta(1) post = Post('Title', 'Body', 1, publish_time=date, difficulty=3) db.session.add(post) db.session.commit() self.assertEqual(Post.get_open_posts(), []) date = datetime.today() - timedelta(10) post1 = Post('Title1', 'Body', 1, publish_time=date, difficulty=3) db.session.add(post1) db.session.commit() self.assertEqual(Post.get_open_posts(), []) date = datetime.today() - timedelta(1) post2 = Post('Title', 'Body', 1, publish_time=date, difficulty=3) db.session.add(post2) db.session.commit() self.assertEqual(Post.get_open_posts(), [post2])
def home(): """Displays the home page""" context = { 'title': 'Cooking challenge', 'annotated_posts': [('open', 'Open posts', Post.get_open_posts()), ('closed', 'Closed posts', Post.get_closed_posts()), ('archived', 'Archived posts', Post.get_archived_posts())] } return render_template('index.html', **context)