From 6200ad263d9b829ae0b05c9a106cb637606b33f4 Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev Date: Mon, 15 Nov 2010 16:25:32 -0500 Subject: temporary fix for the badge award jobs --- askbot/management/commands/multi_award_badges.py | 49 +++++++++++++----------- askbot/management/commands/once_award_badges.py | 29 ++++++++------ 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() -- cgit v1.2.3-1-g7c22