Mercurial > kraina_muminkow
comparison 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 |
comparison
equal
deleted
inserted
replaced
12:5b4688e1964c | 13:79cf8ca2a0e5 |
---|---|
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # -*- coding: utf-8 -*- | 2 # -*- coding: utf-8 -*- |
3 | 3 |
4 from flask import jsonify, Module | 4 from flask import jsonify, Module, abort |
5 from mfrontend import db, utils, exceptions, decorators | 5 from mfrontend import db, utils, exceptions, decorators |
6 api = Module(__name__) | 6 api = Module(__name__) |
7 | 7 |
8 @api.route('/getjob/') | 8 @api.route('/getjob/<apikey>/') |
9 @decorators.login_required | |
10 def get_jobs(): | 9 def get_jobs(): |
10 if apikey != db.config.get('Basic', 'ApiKey'): | |
11 abort(403) | |
11 return jsonify(jobs = db.get_jobs(None, None, None)) | 12 return jsonify(jobs = db.get_jobs(None, None, None)) |
12 | 13 |
13 @api.route('/getjob/<int:jobid>/') | 14 @api.route('/getnextjob/<apikey>/') |
14 @decorators.login_required | 15 def get_first_waiting_job(apikey): |
15 def get_job(jobid): | 16 """ Zwraca w formacie JSON informacje o pierwszym |
17 czekającym zadaniu. | |
18 @param apikey Klucz API. | |
19 @return Dane o zadaniu w formacie JSON. | |
20 """ | |
21 if apikey != db.config.get('Basic', 'ApiKey'): | |
22 abort(403) | |
23 return jsonify(job = db.get_waiting_job()) | |
24 | |
25 @api.route('/getjob/<apikey>/<int:jobid>/') | |
26 def get_job(apikey, jobid): | |
16 """ Zwraca w formacie JSON informacje o podanym zadaniu. | 27 """ Zwraca w formacie JSON informacje o podanym zadaniu. |
17 Uwaga: użytkownik musi być zalogowany, aby móc pobrać | 28 Uwaga: użytkownik musi być zalogowany, aby móc pobrać |
18 informację o zadaniu. | 29 informację o zadaniu. |
19 @param jobid Identyfikator żądanego zadania. | 30 @param jobid Identyfikator żądanego zadania. |
20 @return Informacje o zadaniu w formacie JSON. | 31 @return Informacje o zadaniu w formacie JSON. |
21 """ | 32 """ |
22 pass #TODO! | 33 # jeśli klucz API jest niepoprawny, przerywamy |
34 if apikey != db.config.get('Basic','ApiKey'): | |
35 abort(403) | |
36 # w innym przypadku zwracamy informacje o zadaniu | |
37 return jsonify(job = db.get_job_by_id(jobid)) | |
38 |