Esempio n. 1
0
def update_post_views(post, request, minutes=10):
    "Views are updated per user session"

    ip = html.get_ip(request)
    now = datetime.now()
    since = now - timedelta(minutes=minutes)

    # one view per hour will be counted per each IP address
    if not PostView.objects.filter(ip=ip, post=post, date__gt=since):
        # messages.info(request, "created post view for %s" % post.title)
        PostView.objects.create(ip=ip, post=post, date=now)
        post.views += 1
        Post.objects.filter(id=post.id).update(views=F("views") + 1, rank=html.rank(post))
    return post
Esempio n. 2
0
def update_post_views(post, request, minutes=settings.POST_VIEW_UPDATE):
    "Views are updated per user session"
    
    ip = html.get_ip(request)
    now = datetime.now()
    since = now - timedelta(minutes=minutes)

    # one view per hour will be counted per each IP address
    if not PostView.objects.filter(ip=ip, post=post, date__gt=since):
        #messages.info(request, "created post view for %s" % post.title)
        PostView.objects.create(ip=ip, post=post, date=now)        
        post.views += 1
        Post.objects.filter(id=post.id).update(views = F('views') + 1, rank=html.rank(post) )
    return post
Esempio n. 3
0
def reapply_ranks():
    "Applies the new ranking system on all posts"

    total = models.Post.objects.filter(type__in=POST_TOPLEVEL).count()

    print "*** applying ranks for %s posts " % total

    posts = models.Post.objects.filter(type__in=POST_TOPLEVEL).order_by("id")

    # disconnect post related signals to speed up update
    # signals.pre_save.disconnect( models.verify_post, sender=models.Post )
    # signals.post_save.disconnect( models.finalize_post, sender=models.Post)

    counter = count(1)
    for index, post in izip(counter, posts):
        if (index % 250) == 0:
            perc = 100.0 * index / total
            print "*** commiting %s, %4.1f%%" % (index, perc)
            transaction.commit()
        post.rank = html.rank(post)
        post.save()
    transaction.commit()
Esempio n. 4
0
def reapply_ranks():
    "Applies the new ranking system on all posts"

    total = models.Post.objects.filter(type__in=POST_TOPLEVEL).count()

    print "*** applying ranks for %s posts " % total

    posts = models.Post.objects.filter(type__in=POST_TOPLEVEL).order_by('id')

    # disconnect post related signals to speed up update
    #signals.pre_save.disconnect( models.verify_post, sender=models.Post )
    #signals.post_save.disconnect( models.finalize_post, sender=models.Post)

    counter = count(1)
    for index, post in izip(counter, posts):
        if (index % 250) == 0:
            perc = 100.0 * index / total
            print "*** commiting %s, %4.1f%%" % (index, perc)
            transaction.commit()
        post.rank = html.rank(post)
        post.save()
    transaction.commit()
Esempio n. 5
0
 def set_rank(self):
     self.rank = html.rank(self)
Esempio n. 6
0
 def set_rank(self):
     self.rank = html.rank(self)