Tahrir-API ========== API for interacting with the Tahrir database. Based on the `Tahrir <https://github.com/fedora-infra/tahrir>`_ database model written by `Ralph Bean <https://github.com/ralphbean>`_. There are two classes that can be used in this module. The first is the ``TahrirDatabase`` class located in ``tahrir_api.dbapi`` and the second is the database model located in ``tahrir_api.model``. The ``TahrirDatabase`` class is a high level way to interact with the database. The model is used for a slightly more low level way of interacting with the database. It allows for custom interactions with the database without having to use the ``TahrirDatabase`` class. Creating a Badge ================ This is an example of creating a badge via Tahrir-API: .. code-block:: python from tahrir_api.dbapi import TahrirDatabase db = TahrirDatabase('backend://badges:badgesareawesome@localhost/badges') origin = 'http://foss.rit.edu/badges' issuer_name = 'FOSS@RIT' org = 'http://foss.rit.edu' contact = 'foss@rit.edu' issuer_id = db.add_issuer(origin, issuer_name, org, contact) badge_name = 'fossbox' image = 'http://foss.rit.edu/files/fossboxbadge.png' desc = 'Welcome to the FOSSBox. A member is you!' criteria = 'http://foss.rit.edu' db.add_badge(badge_name, image, desc, criteria, issuer_id) Awarding a Badge ================ This is an example of awarding a badge via Tahrir-API: .. code-block:: python from tahrir_api.dbapi import TahrirDatabase db = TahrirDatabase('backend://badges:badgesareawesome@localhost/badges') badge_id = 'fossbox' person_email = 'person@email.com' issued_on = None db.add_person(person_email) db.add_assertion(badge_id, person_email, issued_on)