Mercurial > kraina_muminkow
view frontend/doc/api.rst @ 28:d017e2ab3027
Poprawki z rana 23 maja, prezentacja django-flask
author | Michał Rudowicz <michal.rudowicz@fl9.eu> |
---|---|
date | Mon, 23 May 2011 12:49:48 +0200 |
parents | 3a2876457625 |
children |
line wrap: on
line source
Porady dla osób korzystających z API ==================================== Pobieranie informacji w formacie JSON ------------------------------------- Pobieranie informacji o zadaniu o danym ID ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Przy domyślnej konfiguracji pobranie danych o zadaniu o podanym ID wymaga wykonania polecenia GET na elemencie pod adresem ``/api/getjob/<ID>/``, gdzie ID jest identyfikatorem zadania Serwer aplikacji powinien zwrócić dokument w formacie JSON zawierający wszystkie dane znajdujące się w bazie dotyczące tego zadania. Pobieranie informacji o wszystkich zadaniach ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ``/api/getjob/`` , gdzie *apikey* ma takie samo znaczenie jak powyżej. Pobieranie informacji w formacie zdefiniowanym przez szablon ------------------------------------------------------------ Klucz API ^^^^^^^^^ Klucz API, w URLach określany jako ``<apikey>``, jest kluczem pozwalającym na dostęp do informacji udostępnianych przez API i nie powinien być udostepniany nikomu poza osobami odpowiedzialnymi za aplikację rozproszoną korzystającą z serwera aplikacji. Klucz znajduje się w :ref:`config-ini`. Szablon pliku ^^^^^^^^^^^^^ Szablon pliku znajduje się w katalogu ``mfrontend/templates/joblist.csv`` i może być dowolnie dostosowywany według potrzeb serwera aplikacji. Domyślny szablon pliku: .. code-block:: jinja {% for job in jobs %} {{job.id}};{{job.hash}};{{job.method}}; {% endfor %} W razie potrzeby należy dodać kolejne pola w analogiczny sposób. Pobieranie jednego oczekującego zadania ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ``/api/getnextjob/<apikey>/`` pobiera następne oczekujące działanie (wg numeru ID, najpierw mniejsze wartości). *Ważne*: samo pobranie informacji **nie** zmienia statusu zadania, trzeba to zrobić ręcznie za pomocą edycji zadania. Pobieranie informacji o zadaniu o danym ID ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Przy domyślnej konfiguracji pobranie danych o zadaniu o podanym ID wymaga wykonania polecenia GET na elemencie pod adresem ``/api/getjob/<apikey>/<jobid>/``, gdzie ID jest identyfikatorem zadania Serwer aplikacji powinien zwrócić dokument w formacie zdefiniowanym przez szablon zawierający wszystkie dane znajdujące się w bazie dotyczące tego zadania. Modyfikowanie danych zadania ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Należy wykonać *POST* na URI ``/api/modify/<apikey/<jobid>/``, gdzie: apikey Klucz API z pliku config.ini ID Identyfikator zadania Natomiast jako dane POST należy przesłać nowe wartości, które chcemy wpisać do bazy, przykładowo następująca linia poleceń programu CURL: .. code-block:: bash $ curl --data "state=10&percent=40" localhost:5000/api/modify/apikey/1/ spowoduje ustawienie wartości ``state`` na 10 i ``percent`` na 40 przy zadaniu o identyfikatorze ``1``. Funkcje wykorzystywane w API ---------------------------- .. automodule:: mfrontend.views.api :members: