An open API service indexing awesome lists of open source software.

https://github.com/opennti/nti.tahrir-api


https://github.com/opennti/nti.tahrir-api

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

          

Tahrir-API
==========

API for interacting with the Tahrir database. Based on the `Tahrir
`_ database model written by `Ralph
Bean `_. 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)