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