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