Mercurial > public > sg101
diff gpp/forums/management/commands/forum_stats.py @ 164:f7a6b8fe4556
Implement #46, add a forums stat feature like phpBB.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Mon, 28 Dec 2009 16:52:42 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gpp/forums/management/commands/forum_stats.py Mon Dec 28 16:52:42 2009 +0000 @@ -0,0 +1,29 @@ +""" +forum_stats is a custom manage.py command for the forums application. +It is intended to be called from a cron job to calculate various forum +statistics. +""" +from django.core.management.base import NoArgsCommand +from django.core.cache import cache + +from forums.models import Statistic +import forums.middleware + + +class Command(NoArgsCommand): + help = "Run periodically to gather forum statistics." + + def handle_noargs(self, **options): + # update maximum users online statistic + users_online = cache.get(forums.middleware.USERS_ONLINE_KEY) + if users_online: + try: + stats = Statistic.objects.get(pk=1) + except Statistic.DoesNotExist: + stats = Statistic(max_users=0) + + curr_users = len(users_online) + + if curr_users > stats.max_users: + stats.max_users = curr_users + stats.save()