Mercurial > kraina_muminkow
diff frontend/mfrontend/views/api.py @ 13:79cf8ca2a0e5
Dodałem pobieranie informacji o podanym zadaniu oraz pobieranie zadania oczekującego poprzez API
author | Michał Rudowicz <michal.rudowicz@fl9.eu> |
---|---|
date | Fri, 01 Apr 2011 19:02:08 +0200 |
parents | 69ecfe51d585 |
children | df32c1d01b8d |
line wrap: on
line diff
--- a/frontend/mfrontend/views/api.py Sun Mar 27 17:13:44 2011 +0200 +++ b/frontend/mfrontend/views/api.py Fri Apr 01 19:02:08 2011 +0200 @@ -1,22 +1,38 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -from flask import jsonify, Module +from flask import jsonify, Module, abort from mfrontend import db, utils, exceptions, decorators api = Module(__name__) -@api.route('/getjob/') -@decorators.login_required +@api.route('/getjob/<apikey>/') def get_jobs(): + if apikey != db.config.get('Basic', 'ApiKey'): + abort(403) return jsonify(jobs = db.get_jobs(None, None, None)) -@api.route('/getjob/<int:jobid>/') -@decorators.login_required -def get_job(jobid): +@api.route('/getnextjob/<apikey>/') +def get_first_waiting_job(apikey): + """ Zwraca w formacie JSON informacje o pierwszym + czekającym zadaniu. + @param apikey Klucz API. + @return Dane o zadaniu w formacie JSON. + """ + if apikey != db.config.get('Basic', 'ApiKey'): + abort(403) + return jsonify(job = db.get_waiting_job()) + +@api.route('/getjob/<apikey>/<int:jobid>/') +def get_job(apikey, jobid): """ Zwraca w formacie JSON informacje o podanym zadaniu. Uwaga: użytkownik musi być zalogowany, aby móc pobrać informację o zadaniu. @param jobid Identyfikator żądanego zadania. @return Informacje o zadaniu w formacie JSON. """ - pass #TODO! + # jeśli klucz API jest niepoprawny, przerywamy + if apikey != db.config.get('Basic','ApiKey'): + abort(403) + # w innym przypadku zwracamy informacje o zadaniu + return jsonify(job = db.get_job_by_id(jobid)) +