diff frontend/mfrontend/views/api.py @ 14:df32c1d01b8d

Dodałem edycję zadań przez POST, napisałem coś w rodzaju dokumentacji z nudów
author Michał Rudowicz <michal.rudowicz@fl9.eu>
date Fri, 01 Apr 2011 22:58:29 +0200
parents 79cf8ca2a0e5
children 8dabb7e7f039
line wrap: on
line diff
--- a/frontend/mfrontend/views/api.py	Fri Apr 01 19:02:08 2011 +0200
+++ b/frontend/mfrontend/views/api.py	Fri Apr 01 22:58:29 2011 +0200
@@ -1,12 +1,15 @@
 #!/usr/bin/python
 # -*- coding: utf-8 -*-
 
-from flask import jsonify, Module, abort
+from flask import jsonify, Module, abort, request
 from mfrontend import db, utils, exceptions, decorators
 api = Module(__name__)
 
 @api.route('/getjob/<apikey>/')
 def get_jobs():
+    """ Funkcja pobiera informacje o wszystkich zadaniach
+        i zwraca je w formacie JSON.
+    """
     if apikey != db.config.get('Basic', 'ApiKey'):
         abort(403)
     return jsonify(jobs = db.get_jobs(None, None, None))
@@ -15,8 +18,9 @@
 def get_first_waiting_job(apikey):
     """ Zwraca w formacie JSON informacje o pierwszym
         czekającym zadaniu.
-        @param apikey   Klucz API.
-        @return         Dane o zadaniu w formacie JSON.
+
+        :param apikey: Klucz API.
+        :returns: Dane o zadaniu w formacie JSON.
     """
     if apikey != db.config.get('Basic', 'ApiKey'):
         abort(403)
@@ -25,10 +29,9 @@
 @api.route('/getjob/<apikey>/<int:jobid>/')
 def get_job(apikey, jobid):
     """ Zwraca w formacie JSON informacje o podanym zadaniu.
-        Uwaga: użytkownik musi być zalogowany, aby móc pobrać
-        informację o zadaniu.
-        @param  jobid   Identyfikator żądanego zadania.
-        @return         Informacje o zadaniu w formacie JSON.
+        
+        :param jobid: Identyfikator żądanego zadania.
+        :param apikey: Klucz API
     """
     # jeśli klucz API jest niepoprawny, przerywamy
     if apikey != db.config.get('Basic','ApiKey'):
@@ -36,3 +39,15 @@
     # w innym przypadku zwracamy informacje o zadaniu
     return jsonify(job = db.get_job_by_id(jobid))
 
+@api.route('/modify/<apikey>/<int:jobid>/', methods=['POST'])
+def modify_job(apikey, jobid):
+    """ Funkcja pozwalająca na modyfikację wybranego
+        zadania.
+        
+        :param apikey: Klucz API
+        :param jobid:   Identyfikator zadania do zmodyfikowania
+    """
+    if apikey != db.config.get('Basic','ApiKey'):
+        abort(403)
+    db.edit_job(jobid, request.form)
+    return "OK"