summaryrefslogtreecommitdiffstats
path: root/askbot/management/commands/askbot_award_badges.py
diff options
context:
space:
mode:
Diffstat (limited to 'askbot/management/commands/askbot_award_badges.py')
-rw-r--r--askbot/management/commands/askbot_award_badges.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/askbot/management/commands/askbot_award_badges.py b/askbot/management/commands/askbot_award_badges.py
index 3f8132b7..265eafce 100644
--- a/askbot/management/commands/askbot_award_badges.py
+++ b/askbot/management/commands/askbot_award_badges.py
@@ -6,13 +6,19 @@ Civic Duty badge
from askbot.models import badges
from askbot.models import User
from askbot.models import Vote
+from askbot.utils.console import ProgressBar
import datetime
from django.core.management.base import NoArgsCommand
class Command(NoArgsCommand):
def handle_noargs(self, *args, **kwargs):
now = datetime.datetime.now()
- for user in User.objects.all():
+ awarded_count = 0
+
+ users = User.objects.all()
+ count = users.count()
+ message = 'Awarding badges for each user'
+ for user in ProgressBar(users.iterator(), count, message):
try:
#get last vote
vote = Vote.objects.filter(user=user).order_by('-id')[0]
@@ -21,8 +27,10 @@ class Command(NoArgsCommand):
continue
else:
cd = badges.CivicDuty()
- cd.consider_award(
+ awarded = cd.consider_award(
actor=user,
context_object=vote.voted_post,
timestamp=now
)
+
+ print 'Awarded %d badges' % awarded_count