Mercurial > kraina_muminkow
comparison frontend/mfrontend/views/api.py @ 14:df32c1d01b8d
Dodałem edycję zadań przez POST, napisałem coś w rodzaju dokumentacji z nudów
author | Michał Rudowicz <michal.rudowicz@fl9.eu> |
---|---|
date | Fri, 01 Apr 2011 22:58:29 +0200 |
parents | 79cf8ca2a0e5 |
children | 8dabb7e7f039 |
comparison
equal
deleted
inserted
replaced
13:79cf8ca2a0e5 | 14:df32c1d01b8d |
---|---|
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # -*- coding: utf-8 -*- | 2 # -*- coding: utf-8 -*- |
3 | 3 |
4 from flask import jsonify, Module, abort | 4 from flask import jsonify, Module, abort, request |
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/<apikey>/') | 8 @api.route('/getjob/<apikey>/') |
9 def get_jobs(): | 9 def get_jobs(): |
10 """ Funkcja pobiera informacje o wszystkich zadaniach | |
11 i zwraca je w formacie JSON. | |
12 """ | |
10 if apikey != db.config.get('Basic', 'ApiKey'): | 13 if apikey != db.config.get('Basic', 'ApiKey'): |
11 abort(403) | 14 abort(403) |
12 return jsonify(jobs = db.get_jobs(None, None, None)) | 15 return jsonify(jobs = db.get_jobs(None, None, None)) |
13 | 16 |
14 @api.route('/getnextjob/<apikey>/') | 17 @api.route('/getnextjob/<apikey>/') |
15 def get_first_waiting_job(apikey): | 18 def get_first_waiting_job(apikey): |
16 """ Zwraca w formacie JSON informacje o pierwszym | 19 """ Zwraca w formacie JSON informacje o pierwszym |
17 czekającym zadaniu. | 20 czekającym zadaniu. |
18 @param apikey Klucz API. | 21 |
19 @return Dane o zadaniu w formacie JSON. | 22 :param apikey: Klucz API. |
23 :returns: Dane o zadaniu w formacie JSON. | |
20 """ | 24 """ |
21 if apikey != db.config.get('Basic', 'ApiKey'): | 25 if apikey != db.config.get('Basic', 'ApiKey'): |
22 abort(403) | 26 abort(403) |
23 return jsonify(job = db.get_waiting_job()) | 27 return jsonify(job = db.get_waiting_job()) |
24 | 28 |
25 @api.route('/getjob/<apikey>/<int:jobid>/') | 29 @api.route('/getjob/<apikey>/<int:jobid>/') |
26 def get_job(apikey, jobid): | 30 def get_job(apikey, jobid): |
27 """ Zwraca w formacie JSON informacje o podanym zadaniu. | 31 """ Zwraca w formacie JSON informacje o podanym zadaniu. |
28 Uwaga: użytkownik musi być zalogowany, aby móc pobrać | 32 |
29 informację o zadaniu. | 33 :param jobid: Identyfikator żądanego zadania. |
30 @param jobid Identyfikator żądanego zadania. | 34 :param apikey: Klucz API |
31 @return Informacje o zadaniu w formacie JSON. | |
32 """ | 35 """ |
33 # jeśli klucz API jest niepoprawny, przerywamy | 36 # jeśli klucz API jest niepoprawny, przerywamy |
34 if apikey != db.config.get('Basic','ApiKey'): | 37 if apikey != db.config.get('Basic','ApiKey'): |
35 abort(403) | 38 abort(403) |
36 # w innym przypadku zwracamy informacje o zadaniu | 39 # w innym przypadku zwracamy informacje o zadaniu |
37 return jsonify(job = db.get_job_by_id(jobid)) | 40 return jsonify(job = db.get_job_by_id(jobid)) |
38 | 41 |
42 @api.route('/modify/<apikey>/<int:jobid>/', methods=['POST']) | |
43 def modify_job(apikey, jobid): | |
44 """ Funkcja pozwalająca na modyfikację wybranego | |
45 zadania. | |
46 | |
47 :param apikey: Klucz API | |
48 :param jobid: Identyfikator zadania do zmodyfikowania | |
49 """ | |
50 if apikey != db.config.get('Basic','ApiKey'): | |
51 abort(403) | |
52 db.edit_job(jobid, request.form) | |
53 return "OK" |