summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-12-07 21:45:31 -0500
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-12-07 21:45:31 -0500
commita886d4fccdf72e4a550294e683125326d22f1459 (patch)
treeefd6e17a560bc68b85354bb64836e49b2953615c
parentd6d18e9868104259bb57b2bce158bdaf510ae530 (diff)
downloadaskbot-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.py27
-rw-r--r--askbot/models/badges.py24
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,