diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-12-07 21:45:31 -0500 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-12-07 21:45:31 -0500 |
commit | a886d4fccdf72e4a550294e683125326d22f1459 (patch) | |
tree | efd6e17a560bc68b85354bb64836e49b2953615c | |
parent | d6d18e9868104259bb57b2bce158bdaf510ae530 (diff) | |
download | askbot-a886d4fccdf72e4a550294e683125326d22f1459.tar.gz askbot-a886d4fccdf72e4a550294e683125326d22f1459.tar.bz2 askbot-a886d4fccdf72e4a550294e683125326d22f1459.zip |
fixed three badges for the SE
-rw-r--r-- | askbot/importers/stackexchange/management/commands/load_stackexchange.py | 27 | ||||
-rw-r--r-- | askbot/models/badges.py | 24 |
2 files changed, 36 insertions, 15 deletions
diff --git a/askbot/importers/stackexchange/management/commands/load_stackexchange.py b/askbot/importers/stackexchange/management/commands/load_stackexchange.py index 96327323..83c8c02f 100644 --- a/askbot/importers/stackexchange/management/commands/load_stackexchange.py +++ b/askbot/importers/stackexchange/management/commands/load_stackexchange.py @@ -647,26 +647,23 @@ class Command(BaseCommand): badge_name = X.get_badge_name(se_a.badge.name) try: b = askbot.badges.get_badge(name=badge_name) + if b.multiple == False: + if b.award_badge.filter(user = u).count() > 0: + #do not allow transfer of "multi" in SE -> single badge in AB + continue + #todo: fake content object here b/c SE does not support this + #todo: but askbot requires related content object + askbot.Award.objects.create( + user=u, + badge=b.get_stored_data(), + awarded_at=se_a.date, + content_object=u, + ) except KeyError: #do not transfer badges that Askbot does not have self._missing_badges[badge_name] += 1 continue - if b.multiple == False: - if b.award_badge.filter(user = u).count() > 0: - #do not allow transfer of "multi" in SE -> single badge in AB - continue - #todo: fake content object here b/c SE does not support this - #todo: but askbot requires related content object - askbot.Award.objects.create( - user=u, - badge=b.get_stored_data(), - awarded_at=se_a.date, - content_object=u, - ) - if b.name in self._missing_badges: - self._missing_badges[b.name] += 1 - def _report_missing_badges(self): d = self._missing_badges unused = [name for name in d.keys() if d[name] == 0] diff --git a/askbot/models/badges.py b/askbot/models/badges.py index 8cee2d6c..6e27c46b 100644 --- a/askbot/models/badges.py +++ b/askbot/models/badges.py @@ -699,6 +699,28 @@ class FavoriteQuestion(FavoriteTypeBadge): self.min_stars = askbot_settings.FAVORITE_QUESTION_BADGE_MIN_STARS return self +class Enthusiast(Badge): + """Unimplemented stub badge""" + def __init__(self): + super(Enthusiast, self).__init__( + key = 'enthusiast', + name = _('Enthusiast'), + level = const.SILVER_BADGE, + multiple = False, + description = _('Visited site every day for 30 days in a row') + ) + +class Commentator(Badge): + """Unimplemented stub badge""" + def __init__(self): + super(Commentator, self).__init__( + key = 'commentator', + name = _('Commentator'), + level = const.BRONZE_BADGE, + multiple = False, + description = _('Posted 10 comments') + ) + ORIGINAL_DATA = """ extra badges from stackexchange @@ -724,10 +746,12 @@ BADGES = { 'cleanup': Cleanup, 'citizen-patrol': CitizenPatrol, 'civic-duty': CivicDuty, + 'commentator': Commentator, 'critic': Critic, 'disciplined': Disciplined, 'editor': Editor, 'enlightened': Enlightened, + 'enthusiast': Enthusiast, 'famous-question': FamousQuestion, 'favorite-question': FavoriteQuestion, 'good-answer': GoodAnswer, |