Mercurial > kraina_muminkow
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: |