From dd4560bd7c8e5ba97c561187b45847e3a671518e Mon Sep 17 00:00:00 2001 From: Lucas Kanashiro Date: Thu, 16 Oct 2014 11:55:52 -0300 Subject: [PATCH] Logged Exception in update_badges script --- src/badger/management/commands/update_badges.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/badger/management/commands/update_badges.py b/src/badger/management/commands/update_badges.py index 6920c89..9c5dfc7 100644 --- a/src/badger/management/commands/update_badges.py +++ b/src/badger/management/commands/update_badges.py @@ -6,17 +6,26 @@ from haystack.query import SearchQuerySet from accounts.models import User from badger.models import Badge +import logging class Command(BaseCommand): help = "Update the user's badges" + def search(self, object_type, **opts={}): + try: + sqs = SearchQuerySet().filter(type=object_type, **opts) + except Exception, e: + logging.except(e) + raise + return sqs + def handle(self, *args, **kwargs): for badge in Badge.objects.filter(type='auto'): if not badge.comparison: continue elif badge.comparison == 'biggest': order = u'-{}'.format(Badge.USER_ATTR_OPTS[badge.user_attr]) - sqs = SearchQuerySet().filter(type='user') + sqs = self.search('user') user = sqs.order_by(order)[0] badge.awardees.add(User.objects.get(pk=user.pk)) continue @@ -30,10 +39,7 @@ class Command(BaseCommand): ) opts = {key: badge.value} - sqs = SearchQuerySet().filter( - type='user', - **opts - ) + sqs = self.search('user', **opts) for user in sqs: badge.awardees.add(User.objects.get(pk=user.pk)) -- libgit2 0.21.2