def handle(self, *args, **options):
        num_comments = 500
        users = User.objects.filter(admin=False)
        articles = Article.objects.all()
        filter_words = Filter_Words.objects.all()

        content = open("dictionaries/comments").readlines()

        count = 0
        for i in range(0, num_comments):
            comments = Comment.objects.all()
            c = Comment()
            c.user = random.choice(users)
            c.article = random.choice(articles)
            c.content = random.choice(content).rstrip()
            c.pub_date = timezone.now()
            for word in filter_words:
                if (re.search(str(word), c.content, re.IGNORECASE)):
                    c.flag = True

            if (i > num_comments / 2):
                c.parent = random.choice(comments)
                c.article = c.parent.article

            c.save()
            count = i

        print(str(count) + " comments added")
예제 #2
0
def lire(request, id):
    try:
        article = Article.objects.get(id=id)
    except Article.DoesNotExist:
        raise Http404
    try:
        likes = Like.objects.all().filter(article=article)
        number_of_likes=len(likes)
    except:
        number_of_likes=0
    try:
        like_from_user = Like.objects.all().filter(article=article).filter(auteur=request.user)
        if len(like_from_user)>0:
            has_liked=True
        else:
            has_liked=False
    except:
        has_liked=False

    form = CommentForm(request.POST or None)
    # Nous vérifions que les données envoyées sont valides
    # Cette méthode renvoie False s'il n'y a pas de données 
    # dans le formulaire ou qu'il contient des erreurs.
    if form.is_valid(): 
        # Ici nous pouvons traiter les données du formulaire
        new_comment=Comment()
        new_comment.auteur=request.user
        new_comment.contenu = form.cleaned_data.get('contenu')
        new_comment.article = article
        new_comment.save()
        try:
            user_data=UserData.objects.all().filter(user=request.user)[0]
            user_data.number_articles_he_commented=user_data.number_articles_he_commented+1
            user_data.save()
        except:
            UserData(request.user).save()
        try:
            user_data=UserData.objects.all().filter(user=article.auteur)[0]
            user_data.number_comments=user_data.number_comments+1
            user_data.save()
        except:
            UserData(article.auteur).save()
        # Nous pourrions ici envoyer l'e-mail grâce aux données 
        # que nous venons de récupérer
        envoi = True

    try:
        comments=Comment.objects.all().filter(article=article)
    except:
        comments=[]

    try:
        signature_object=Signature.objects.get(user=article.auteur)
        signature = signature_object.signature
        bio=signature_object.bio
        has_bio=True
        if len(bio)==0:
            has_bio=False
        if len(signature)<=5:
            signature = article.auteur.first_name+" "+article.auteur.last_name
    except:
        signature = article.auteur.first_name+" "+article.auteur.last_name
        has_bio=False
        bio=''

    if len(signature)<=5:
        signature = article.auteur.username

    return render(request, 'blog/lire.html', {'article': article, 'form':form, 'comments': comments, 'has_liked':has_liked, 'number_of_likes':number_of_likes,'signature':signature, 'has_bio':has_bio, 'bio':bio})