comparison frontend/doc/api.txt @ 18:8dabb7e7f039

API zdefiniowane przez szablon
author Michał Rudowicz <michal.rudowicz@fl9.eu>
date Mon, 04 Apr 2011 10:44:09 +0200
parents c87f82a15606
children
comparison
equal deleted inserted replaced
17:57a48d2aee18 18:8dabb7e7f039
1 Porady dla osób korzystających z API 1 Porady dla osób korzystających z API
2 ==================================== 2 ====================================
3 3
4 Pobieranie informacji w formacie JSON
5 -------------------------------------
6
4 Pobieranie informacji o zadaniu o danym ID 7 Pobieranie informacji o zadaniu o danym ID
5 ------------------------------------------ 8 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6 9
7 Przy domyślnej konfiguracji pobranie danych o zadaniu o podanym ID wymaga 10 Przy domyślnej konfiguracji pobranie danych o zadaniu o podanym ID wymaga
8 wykonania polecenia GET na elemencie pod adresem 11 wykonania polecenia GET na elemencie pod adresem
9 ``/api/getjob/<apikey>/<ID>/``, gdzie: 12 ``/api/getjob/<ID>/``, gdzie ID jest identyfikatorem zadania
10
11 apikey
12 Klucz API taki, jak ustawiony w pliku config.ini
13 ID
14 Identyfikator zadania
15 13
16 Serwer aplikacji powinien zwrócić dokument w formacie JSON zawierający 14 Serwer aplikacji powinien zwrócić dokument w formacie JSON zawierający
17 wszystkie dane znajdujące się w bazie, dotyczące tego zadania. 15 wszystkie dane znajdujące się w bazie, dotyczące tego zadania.
18 16
19 Pobieranie informacji o wszystkich zadaniach 17 Pobieranie informacji o wszystkich zadaniach
20 -------------------------------------------- 18 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
21 19
22 ``/api/getjob/<apikey>/`` , gdzie *apikey* ma takie samo znaczenie jak 20 ``/api/getjob/`` , gdzie *apikey* ma takie samo znaczenie jak
23 powyżej. 21 powyżej.
24 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
25 Pobieranie jednego oczekującego zadania 50 Pobieranie jednego oczekującego zadania
26 --------------------------------------- 51 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
27 52
28 ``/api/getnextjob/<apikey>/`` pobiera następne oczekujące działanie (wg numeru ID, 53 ``/api/getnextjob/<apikey>/`` pobiera następne oczekujące działanie (wg numeru ID,
29 najpierw mniejsze wartości). *Ważne*: samo pobranie informacji **nie** zmienia 54 najpierw mniejsze wartości). *Ważne*: samo pobranie informacji **nie** zmienia
30 statusu zadania, trzeba to zrobić ręcznie za pomocą edycji zadania. 55 statusu zadania, trzeba to zrobić ręcznie za pomocą edycji zadania.
31 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
32 Modyfikowanie danych zadania 68 Modyfikowanie danych zadania
33 ---------------------------- 69 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
34 70
35 Należy wykonać *POST* na URI ``/api/modify/<apikey/<jobid>/``, gdzie: 71 Należy wykonać *POST* na URI ``/api/modify/<apikey/<jobid>/``, gdzie:
36 72
37 apikey 73 apikey
38 Klucz API z pliku config.ini 74 Klucz API z pliku config.ini