Python3 wrapper UiTdatabank APIv2¶
De UiTdatabank biedt een API om de databank te consulteren. De API is uitgebreid beschreven in deze handleiding.
Om de API in Python te gebruiken kan je gebruik maken van de requests bibliotheek. Om het authenticatie en zoekproces te vergemakkelijken schreef ik een lichte wrapper rond de API.
De wrapper is getest met python 3.4, maar zou ook voor python 2.7+ moeten werken.
Voorbeeld¶
>>> from uitdatabank.uitdatabank import UiTdatabank
>>> udb = UiTdatabank("settings.cfg")
>>> q, fq = udb.construct_event_query([("city", "Gent"), "AND", ("jazz")])
>>> params = udb.construct_parameters_for_api_call({"q": q, "fq": fq})
>>> searchresults = udb.find(params)
>>> print(searchresults.get_soonest_event())
Configuratie¶
- De settings voor authenticatie en de API basisurl worden aangegeven in een settings file die de volgende structuur heeft:
[oauth] app_key = BAAC107B-632C-46C6-A254-13BC2CE19C6C app_secret = ec9a0e8c2cdc52886bc545e14f888612 user_token = user_secret = [uitdatabank] url = https://www.uitid.be/uitid/rest/searchv2/search
De key/secret combinatie die hier wordt gedocumenteerd zijn de publieke keys voor demo- en testdoeleinden (augustus 2016).
Het pad naar deze file wordt bij de initialisatie van de wrapper meegegeven als argument. De wrapper doet de rest.
Overzicht van de shortcuts¶
In Shortcuts
worden shortcuts naar frequente API calls verzameld.
Op dit moment zijn er nog niet veel shortcuts geimplementeerd, in afwachting van een typologie van API calls.
Een eerste probeersel, dat waarschijnlijk in een volgende versie zal verdwijnen:
- Zoeken naar events
- toekomstige events op basis van de organisator
find_upcoming_events_by_organiser_label
- toekomstige events op basis van de stad
find_upcoming_events_by_city_name
- toekomstige events op basis van de organisator