From 9270a82044053a21b5e8cad1e77a1020feb5ad73 Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Thu, 12 Sep 2013 20:34:12 +0000 Subject: [PATCH] Add a script to retrieve a persons ID from the badges db on badges-backend01. --- .../badges-backend/files/get-badges-person-id | 60 +++++++++++++++++++ roles/badges-backend/tasks/main.yml | 1 + 2 files changed, 61 insertions(+) create mode 100644 roles/badges-backend/files/get-badges-person-id diff --git a/roles/badges-backend/files/get-badges-person-id b/roles/badges-backend/files/get-badges-person-id new file mode 100644 index 0000000000..a12a6543c4 --- /dev/null +++ b/roles/badges-backend/files/get-badges-person-id @@ -0,0 +1,60 @@ +#!/usr/bin/env python +""" This is a CLI script for retrieving a person's id in the badges db given +their FAS username. +""" + +import __main__ +__main__.__requires__ = __requires__ = ["tahrir-api", "sqlalchemy>=0.7"]; +import pkg_resources +pkg_resources.require(__requires__) + +import argparse +import transaction +import sys + +from tahrir_api.dbapi import TahrirDatabase + +import fedmsg +import fedmsg.config + +import fedbadges.utils + + +def parse_args(): + parser = argparse.ArgumentParser(__doc__) + parser.add_argument('--user', default=None, help="A FAS username") + args = parser.parse_args() + if not args.user: + print "You must specify a FAS username." + sys.exit(1) + return args + + +def initialize(): + fm_config = fedmsg.config.load_config() + fm_config['cert_prefix'] = 'fedbadges' + fm_config['name'] = 'relay_inbound' + fm_config['active'] = True + fedmsg.init(**fm_config) + uri = fm_config['badges_global']['database_uri'] + tahrir = TahrirDatabase( + uri, + notification_callback=fedbadges.utils.notification_callback, + ) + return tahrir + + +def main(tahrir, nickname, badge_id): + person = tahrir.get_person(nickname=nickname) + + if not person: + print "No such person %r" % nickname + sys.exit(1) + + print person.nickname, "has the id", person.id + + +if __name__ == '__main__': + args = parse_args() + tahrir = initialize() + main(tahrir, args.user, args.badge) diff --git a/roles/badges-backend/tasks/main.yml b/roles/badges-backend/tasks/main.yml index e093657d7c..fd3824ced3 100644 --- a/roles/badges-backend/tasks/main.yml +++ b/roles/badges-backend/tasks/main.yml @@ -129,5 +129,6 @@ mode=750 with_items: - award-badge + - get-badges-person-id tags: - scripts