def recommend_post_command(request, post_pk): ''' ! #1234 - Recommend post ''' user = request.user post = PostInterface(user).get_post(post_pk) if post.user_id == user.pk: return '''You can't recommend your own messages.''' recommend, created = Recommend.admin_objects.get_or_create( user=request.user, post=post) if created or recommend.is_deleted: if created: send_alert(post.user, '@%s recommend your post %s' % ( request.user.username, post.get_number()), sender=request.get_sender()) send_broadcast(user, render_post(post, recommend_by=user), exclude_user=[user, post.user]) if recommend.is_deleted: recommend.is_deleted = False recommend.save() return '''Message added to your recommendations.''' else: recommend.delete() return '''Message deleted from your recommendations.'''
def comment_add_command(request, post_pk, message, comment_number=None): ''' #1234 Blah-blah-blah - Answer to message #1234 #1234/5 Blah - Answer to reply #1234/5 ''' comment = PostInterface(request.user).add_reply(message, post_pk, comment_number, from_client=request.from_jid.resource) text = '''Reply posted\n%s %s''' % ( comment.get_number(), comment.get_full_url() ) return text
def show_message_command(request, post_pk, comment_number=None, show_comments=None): ''' #1234 - Show message #1234\\1 - Show reply #1234+ - Show message with replies ''' post_i = PostInterface(request.user) if not comment_number: post = post_i.get_post(post_pk) body = render_post(post, with_comments=bool(show_comments)) else: comment = post_i.get_comment(post_pk, comment_number) body = render_comment(comment) return body[:-1]
def make_replies_for_post(self, post, count=None): if not count: max_count = 10 if random.randrange(50) == 0: max_count = 20000 elif random.randrange(10) == 0: max_count = 300 elif random.randrange(3) == 0: max_count = 50 count = random.randrange(0, max_count) for i in xrange(count): user = self.get_user() number = None if random.randrange(2) == 1: comments = Comment.objects.filter(post=post) if comments: number = self.get_random_slice(comments).number pi = PostInterface(user) pi.add_reply(lorem_ipsum.paragraph(), post.id, number)
def generate_fish(self): while True: user = self.get_user() pi = PostInterface(user) post = pi.add_post(lorem_ipsum.paragraph(), tags=self.get_tags()) self.make_replies_for_post(post)