def post_edit(postid): """ Enables post owner to edit post """ if request.method == "POST": # Checks for empty text field if not request.form.get("content"): flash("Post cannot be empty.", "danger") return redirect("/post/" + postid + "/edit") # Insert comment into database update_post(conn, postid, request.form.get("content")) # Redirect to post page flash("Post updated!", "success") return redirect("/post/" + postid) else: # Get post post = get_post(conn, postid) # Check post ownership if session["user_id"] != post["author_id"]: flash("You don't have permission to do that.", "danger") return redirect("/post/" + postid) return render_template("post_edit.html", post=post)
def display_post(request, year, month, day, slug): post = get_post(request, year, month, day, slug) storage_key = slugify(unicode(post.get_absolute_url())) form = CommentForm(storage_key, request=request, user=request.user) return render(request, "blog/post.haml", {"post": post, "form": form, 'storage_key': storage_key})
def post_delete(postid): """ Enables post owner to delete post """ if request.method == "POST": # Check post ownership post = get_post(conn, postid) if session["user_id"] != post["author_id"]: flash("You don't have permission to do that.", "danger") return redirect("/post/" + post["id"]) # Delete post from database delete_post(conn, postid) # Redirect to feed flash("Post deleted!", "success") return redirect(url_for('feed')) else: # Get post post= get_post(conn, postid) # Check post ownership if session["user_id"] != post["author_id"]: flash("You don't have permission to do that.", "danger") return redirect("/post/" + postid) content = {} content["id"] = post["id"] content["type"] = "Post" content["delete_url"] = "/post/" + postid + "/delete" content["cancel_url"] = "/post/" + postid return render_template("delete.html", content=content)
def comment_form(request, year, month, day, slug): post = get_post(request, year, month, day, slug) storage_key = slugify(unicode(post.get_absolute_url())) if request.method == "POST": form = CommentForm(storage_key, request.POST, request=request, user=request.user) if form.is_valid(): c = form.save(commit=False) c.ip_address = request.META["REMOTE_ADDR"] c.post = post if request.user.is_authenticated(): c.user = request.user c.is_public = True c.save() subject = _('new comment for "%s"' % post.title) text_content = render_to_string( "blog/inc/comment_mail.txt", {"user": request.user, "comment": c, "post": post}, RequestContext(request) ) html_content = render_to_string( "blog/inc/comment_mail.haml", {"user": request.user, "comment": c, "post": post}, RequestContext(request), ) msg = EmailMultiAlternatives( subject, text_content, settings.EMAIL_NO_REPLY, [SiteAdmin().get_admin().email] ) msg.attach_alternative(html_content, "text/html") msg.send(fail_silently=True) if request.user.is_authenticated(): return HttpResponse() else: return render(request, "blog/ajax/comment_ok.haml") else: form = CommentForm(storage_key, user=request.user, request=request) return render( request, "blog/ajax/comment_form.haml", {"url": post.get_form_url(), "form": form, "storage_key": storage_key} )
def post_page(postid): """ Enables users to post comments to a specific post """ if request.method == "POST": # Checks for empty text field if not request.form.get("content"): flash("Comment cannot be empty.", "danger") return redirect("/post/" + postid) # Insert comment into database create_comment(conn, session["user_id"], postid, request.form.get("content")) # Redirect to feed flash("Comment submitted!", "success") return redirect("/post/" + postid) else: # Get post and related comments post = get_post(conn, postid) comments = get_all_comments(conn, postid) return render_template("post.html", post=post, comments=comments)
def comment_count(request, year, month, day, slug): post = get_post(request, year, month, day, slug) count = post.count_public_comments() return render(request, "blog/ajax/comment_count.haml", {"count": count})
def show(id): post = get_post(id, session['username']) if post == False: return render_template('show.html', error='You can\'t view this entry.') else: return render_template('show.html', post=post)
import json import time from helpers import get_post, send_to_slack with open('subreddits.json', 'r') as f: subreddits = json.load(f)['subreddits'] prev_posts = {} if (not prev_posts): for sub in subreddits: post = get_post(sub) prev_posts[sub] = post if (post): send_to_slack(post) while (1): for sub in subreddits: post = get_post(sub) if (post): if (post.url != prev_posts[sub].url): print(f'New post on r/{sub}') send_to_slack(post) print(f'Sent post from r/{sub}') time.sleep(30)
def show_post(post_name): post = helpers.get_post(post_name) return render_template("post.html", **post)