summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-11-15 16:25:32 -0500
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-11-15 16:25:32 -0500
commit6200ad263d9b829ae0b05c9a106cb637606b33f4 (patch)
tree381abd21f62c948ce8f0da40e9f379cbde64f6d7
parent58fbc9902e481d0fe21eeca4208fa0f51b51e4ee (diff)
downloadaskbot-6200ad263d9b829ae0b05c9a106cb637606b33f4.tar.gz
askbot-6200ad263d9b829ae0b05c9a106cb637606b33f4.tar.bz2
askbot-6200ad263d9b829ae0b05c9a106cb637606b33f4.zip
temporary fix for the badge award jobs
-rw-r--r--askbot/management/commands/multi_award_badges.py49
-rw-r--r--askbot/management/commands/once_award_badges.py29
2 files changed, 44 insertions, 34 deletions
diff --git a/askbot/management/commands/multi_award_badges.py b/askbot/management/commands/multi_award_badges.py
index 430c6364..c3ed947d 100644
--- a/askbot/management/commands/multi_award_badges.py
+++ b/askbot/management/commands/multi_award_badges.py
@@ -14,6 +14,7 @@
"""
#!/usr/bin/env python
+import logging
from django.db import connection
from django.shortcuts import get_object_or_404
from django.contrib.contenttypes.models import ContentType
@@ -24,29 +25,33 @@ from askbot.management.commands.base_command import BaseCommand
class Command(BaseCommand):
def handle_noargs(self, **options):
+ badge_calls = (
+ self.delete_question_be_voted_up_3,
+ self.delete_answer_be_voted_up_3,
+ self.delete_question_be_vote_down_3,
+ self.delete_answer_be_voted_down_3,
+ self.answer_be_voted_up_10,
+ self.question_be_voted_up_10,
+ self.question_view_1000,
+ self.answer_self_question_be_voted_up_3,
+ self.answer_be_voted_up_100,
+ self.question_be_voted_up_100,
+ self.question_be_favorited_100,
+ self.question_view_10000,
+ self.answer_be_voted_up_25,
+ self.question_be_voted_up_25,
+ self.question_be_favorited_25,
+ self.question_view_2500,
+ self.answer_be_accepted_and_voted_up_40,
+ self.question_be_answered_after_60_days_and_be_voted_up_5,
+ self.created_tag_be_used_in_question_50
+ )
try:
- try:
- self.delete_question_be_voted_up_3()
- self.delete_answer_be_voted_up_3()
- self.delete_question_be_vote_down_3()
- self.delete_answer_be_voted_down_3()
- self.answer_be_voted_up_10()
- self.question_be_voted_up_10()
- self.question_view_1000()
- self.answer_self_question_be_voted_up_3()
- self.answer_be_voted_up_100()
- self.question_be_voted_up_100()
- self.question_be_favorited_100()
- self.question_view_10000()
- self.answer_be_voted_up_25()
- self.question_be_voted_up_25()
- self.question_be_favorited_25()
- self.question_view_2500()
- self.answer_be_accepted_and_voted_up_40()
- self.question_be_answered_after_60_days_and_be_voted_up_5()
- self.created_tag_be_used_in_question_50()
- except Exception, e:
- print e
+ for badge_call in badge_calls:
+ try:
+ badge_call()
+ except Exception, e:
+ logging.critical('badge award error ' + unicode(e) + 'in ' + badge_call.__name__)
finally:
connection.close()
diff --git a/askbot/management/commands/once_award_badges.py b/askbot/management/commands/once_award_badges.py
index 6351ac9a..ad4132af 100644
--- a/askbot/management/commands/once_award_badges.py
+++ b/askbot/management/commands/once_award_badges.py
@@ -12,6 +12,7 @@
# Licence: GPL V2
#-------------------------------------------------------------------------------
+import logging
from datetime import datetime, date
from django.db import connection
from django.shortcuts import get_object_or_404
@@ -93,19 +94,23 @@ BADGE_AWARD_TYPE_FIRST = {
class Command(BaseCommand):
def handle_noargs(self, **options):
+ badge_calls = (
+ self.alpha_user,
+ self.beta_user,
+ self.first_type_award,
+ self.first_ask_be_voted,
+ self.first_answer_be_voted,
+ self.first_answer_be_voted_10,
+ self.vote_count_300,
+ self.edit_count_100,
+ self.comment_count_10
+ )
try:
- try:
- self.alpha_user()
- self.beta_user()
- self.first_type_award()
- self.first_ask_be_voted()
- self.first_answer_be_voted()
- self.first_answer_be_voted_10()
- self.vote_count_300()
- self.edit_count_100()
- self.comment_count_10()
- except Exception, e:
- print e
+ for badge_call in badge_calls:
+ try:
+ badge_call()
+ except Exception, e:
+ logging.critical('badge award error ' + unicode(e) + 'in ' + badge_call.__name__)
finally:
connection.close()