Use tahrir-api notification machinery in the badges cron jobs.

This commit is contained in:
Ralph Bean 2013-09-04 16:24:17 +00:00
parent b127371ef1
commit 76a44ec771
2 changed files with 11 additions and 30 deletions

View file

@ -22,6 +22,7 @@ fm_config['name'] = 'relay_inbound'
fm_config['active'] = True
fedmsg.init(**fm_config)
import fedbadges.utils
def main():
persons = tahrir.session.query(Person)\
@ -50,19 +51,6 @@ def main():
transaction.begin()
tahrir.add_assertion(badge.id, person.email, None)
transaction.commit()
fedmsg.publish(topic="badge.award",
modname="fedbadges",
msg=dict(
badge=dict(
name=badge.name,
description=badge.description,
image_url=badge.image,
),
user=dict(
username=person.nickname,
badges_user_id=person.id,
),
))
time.sleep(1)
except Exception as e:
transaction.abort()
@ -74,5 +62,8 @@ def main():
print len(bad), "bad peoples"
uri = fm_config['badges_global']['database_uri']
tahrir = TahrirDatabase(uri)
tahrir = TahrirDatabase(
uri,
notification_callback=fedbadges.utils.notification_callback,
)
main()

View file

@ -16,7 +16,6 @@ import pprint
from tahrir_api.dbapi import TahrirDatabase
import transaction
_fas_cache = {}
import logging
@ -24,7 +23,6 @@ log = logging.getLogger()
logging.basicConfig()
import fedora.client.fas2
import fedmsg
import fedmsg.config
@ -34,6 +32,8 @@ fm_config['name'] = 'relay_inbound'
fm_config['active'] = True
fedmsg.init(**fm_config)
import fedbadges.utils
def get_cla_signers(**config):
creds = config['fas_credentials']
@ -145,24 +145,14 @@ def hit_em_up(badge, group):
transaction.begin()
tahrir.add_assertion(badge.id, email, None)
transaction.commit()
fedmsg.publish(topic="badge.award",
modname="fedbadges",
msg=dict(
badge=dict(
name=badge.name,
description=badge.description,
image_url=badge.image,
),
user=dict(
username=user.nickname,
badges_user_id=user.id,
),
))
except Exception as e:
transaction.abort()
print "Failure:", e
if __name__ == '__main__':
uri = fm_config['badges_global']['database_uri']
tahrir = TahrirDatabase(uri)
tahrir = TahrirDatabase(
uri,
notification_callback=fedbadges.utils.notification_callback,
)
main()