annotate frontend/doc/api.txt @ 33:028cb06a24c9 tip

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