def POSTING(message, post_name=None, host=None, action=None): name, address = parseaddr(message['from']) if not action: post.post(post_name, address, host, message) msg = view.respond(locals(), 'mail/page_ready.msg', From="noreply@%(host)s", To=message['from'], Subject="Your page '%(post_name)s' is ready.") relay.deliver(msg) # first real message, now we can index it index_q = queue.Queue("run/posts") index_q.push(message) elif action == "delete": post.delete(post_name, address) msg = view.respond(locals(), 'mail/deleted.msg', From="noreply@%(host)s", To=message['from'], Subject="Your page '%(post_name)s' was deleted.") relay.deliver(msg) else: logging.debug("Invalid action: %r", action) return POSTING
def test_post(): message = MailRequest("fakepeer", user, "*****@*****.**" % blog, "Fake body") message['Subject'] = 'Test subject' post.post(blog, user, "localhost", message) assert post.user_exists(user), "User dir not created." assert os.path.exists(post.blog_file_name(blog, user)), "File not made."
def test_remove_from_queue(): message = MailRequest("fakepeer", user, "*****@*****.**" % blog, "Fake body") message['Subject'] = 'Test subject' post_q = post.get_user_post_queue(post.get_user_dir(user)) post.post(blog, user, 'localhost', message) assert post_q.count(), "No messages in the post queue." count = post_q.count() post.remove_from_queue(blog, user) assert post_q.count() == count-1, "It didn't get removed."
def test_remove_from_queue(): message = MailRequest("fakepeer", user, "*****@*****.**" % blog, "Fake body") message['Subject'] = 'Test subject' post_q = post.get_user_post_queue(post.get_user_dir(user)) post.post(blog, user, 'localhost', message) assert post_q.count(), "No messages in the post queue." count = post_q.count() post.remove_from_queue(blog, user) assert post_q.count() == count - 1, "It didn't get removed."
def CONFIRMING(message, id_number=None, host=None): original = CONFIRM.verify('post', message['from'], id_number) if original: name, address = parseaddr(original['from']) post_name = original['x-post-name'] post_id = post.post(post_name, address, host, original) msg = view.respond(locals(), "mail/welcome.msg", From="noreply@%(host)s", To=message['from'], Subject="Welcome, your blog is ready.") relay.deliver(msg) return POSTING else: logging.warning("Invalid confirm from %s", message['from']) return CONFIRMING