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)) | ... | ... |