comparison frontend/doc/api.txt @ 30:50708627f3c7

Ukończona strona klienta
author mild@mild-laptop
date Sun, 05 Jun 2011 23:10:18 +0200
parents
children
comparison
equal deleted inserted replaced
29:28eb82047167 30:50708627f3c7
1 Porady dla osób korzystających z API
2 ====================================
3
4 Pobieranie informacji w formacie JSON
5 -------------------------------------
6
7 Pobieranie informacji o zadaniu o danym ID
8 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
9
10 Przy domyślnej konfiguracji pobranie danych o zadaniu o podanym ID wymaga
11 wykonania polecenia GET na elemencie pod adresem
12 ``/api/getjob/<ID>/``, gdzie ID jest identyfikatorem zadania
13
14 Serwer aplikacji powinien zwrócić dokument w formacie JSON zawierający
15 wszystkie dane znajdujące się w bazie, dotyczące tego zadania.
16
17 Pobieranie informacji o wszystkich zadaniach
18 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19
20 ``/api/getjob/`` , gdzie *apikey* ma takie samo znaczenie jak
21 powyżej.
22
23 Pobieranie informacji w formacie zdefiniowanym przez szablon
24 ------------------------------------------------------------
25
26 Klucz API
27 ^^^^^^^^^
28
29 Klucz API, w URLach określany jako ``<apikey>``, jest kluczem pozwalającym na dostęp
30 do informacji udostępnianych przez API i nie powinien być udostepniany nikomu poza
31 osobami odpowiedzialnymi za aplikację rozproszoną korzystającą z serwera aplikacji.
32 Klucz znajduje się w :ref:`config-ini`.
33
34 Szablon pliku
35 ^^^^^^^^^^^^^
36
37 Szablon pliku znajduje się w katalogu ``mfrontend/templates/joblist.csv`` i może być
38 dowolnie dostosowywany według potrzeb serwera aplikacji.
39
40 Domyślny szablon pliku:
41
42 .. code-block:: jinja
43
44 {% for job in jobs %}
45 {{job.id}};{{job.hash}};{{job.method}};
46 {% endfor %}
47
48 W razie potrzeby należy dodać kolejne pola w analogiczny sposób.
49
50 Pobieranie jednego oczekującego zadania
51 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
52
53 ``/api/getnextjob/<apikey>/`` pobiera następne oczekujące działanie (wg numeru ID,
54 najpierw mniejsze wartości). *Ważne*: samo pobranie informacji **nie** zmienia
55 statusu zadania, trzeba to zrobić ręcznie za pomocą edycji zadania.
56
57 Pobieranie informacji o zadaniu o danym ID
58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
59
60 Przy domyślnej konfiguracji pobranie danych o zadaniu o podanym ID wymaga
61 wykonania polecenia GET na elemencie pod adresem
62 ``/api/getjob/<apikey>/<jobid>/``, gdzie ID jest identyfikatorem zadania
63
64 Serwer aplikacji powinien zwrócić dokument w formacie zdefiniowanym przez szablon
65 zawierający wszystkie dane znajdujące się w bazie dotyczące tego zadania.
66
67
68 Modyfikowanie danych zadania
69 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
70
71 Należy wykonać *POST* na URI ``/api/modify/<apikey/<jobid>/``, gdzie:
72
73 apikey
74 Klucz API z pliku config.ini
75 ID
76 Identyfikator zadania
77
78 Natomiast jako dane POST należy przesłać nowe wartości, które chcemy wpisać do
79 bazy, przykładowo następująca linia poleceń programu CURL:
80
81 .. code-block:: bash
82
83 $ curl --data "state=10&percent=40" localhost:5000/api/modify/apikey/1/
84
85 spowoduje ustawienie wartości ``state`` na 10 i ``percent`` na 40 przy zadaniu
86 o identyfikatorze ``1``.
87
88 Funkcje wykorzystywane w API
89 ----------------------------
90
91 .. automodule:: mfrontend.views.api
92 :members: