Commit dd4560bd7c8e5ba97c561187b45847e3a671518e
1 parent
2ce3f49a
Exists in
master
and in
39 other branches
Logged Exception in update_badges script
Showing
1 changed file
with
11 additions
and
5 deletions
Show diff stats
src/badger/management/commands/update_badges.py
... | ... | @@ -6,17 +6,26 @@ from haystack.query import SearchQuerySet |
6 | 6 | from accounts.models import User |
7 | 7 | from badger.models import Badge |
8 | 8 | |
9 | +import logging | |
9 | 10 | |
10 | 11 | class Command(BaseCommand): |
11 | 12 | help = "Update the user's badges" |
12 | 13 | |
14 | + def search(self, object_type, **opts={}): | |
15 | + try: | |
16 | + sqs = SearchQuerySet().filter(type=object_type, **opts) | |
17 | + except Exception, e: | |
18 | + logging.except(e) | |
19 | + raise | |
20 | + return sqs | |
21 | + | |
13 | 22 | def handle(self, *args, **kwargs): |
14 | 23 | for badge in Badge.objects.filter(type='auto'): |
15 | 24 | if not badge.comparison: |
16 | 25 | continue |
17 | 26 | elif badge.comparison == 'biggest': |
18 | 27 | order = u'-{}'.format(Badge.USER_ATTR_OPTS[badge.user_attr]) |
19 | - sqs = SearchQuerySet().filter(type='user') | |
28 | + sqs = self.search('user') | |
20 | 29 | user = sqs.order_by(order)[0] |
21 | 30 | badge.awardees.add(User.objects.get(pk=user.pk)) |
22 | 31 | continue |
... | ... | @@ -30,10 +39,7 @@ class Command(BaseCommand): |
30 | 39 | ) |
31 | 40 | opts = {key: badge.value} |
32 | 41 | |
33 | - sqs = SearchQuerySet().filter( | |
34 | - type='user', | |
35 | - **opts | |
36 | - ) | |
42 | + sqs = self.search('user', **opts) | |
37 | 43 | |
38 | 44 | for user in sqs: |
39 | 45 | badge.awardees.add(User.objects.get(pk=user.pk)) | ... | ... |