Mercurial > kraina_muminkow
view frontend/mfrontend/views/api.py @ 25:3a26da290650
merge
author | Michał Rudowicz <michal.rudowicz@fl9.eu> |
---|---|
date | Mon, 09 May 2011 10:49:01 +0200 |
parents | 8dabb7e7f039 |
children |
line wrap: on
line source
#!/usr/bin/python # -*- coding: utf-8 -*- from flask import jsonify, Module, abort, request from flask import render_template from mfrontend import db, utils, exceptions, decorators api = Module(__name__) @api.route('/getjob/') @decorators.login_required def get_jobs_json(): """ Funkcja pobiera informacje o wszystkich zadaniach i zwraca je w formacie JSON. """ return jsonify(jobs = db.get_jobs(None, None, None)) @api.route('/getnextjob/<apikey>/') def get_first_waiting_job_template(apikey): """ Zwraca w formacie JSON informacje o pierwszym czekającym zadaniu. :param apikey: Klucz API. :returns: Dane o zadaniu w formacie JSON. """ if apikey != db.config.get('Basic', 'ApiKey'): abort(403) return render_template('joblist.csv', jobs = [ db.get_waiting_job() ] ) @api.route('/getjob/<int:jobid>/') @decorators.login_required def get_job_json(jobid): """ Zwraca w formacie JSON informacje o podanym zadaniu. :param jobid: Identyfikator żądanego zadania. :returns: Informacje o zadaniu w formacie JSON """ # w innym przypadku zwracamy informacje o zadaniu return jsonify(job = db.get_job_by_id(jobid)) @api.route('/getjob/<apikey>/<int:jobid>/') def get_job_template(apikey, jobid): """ Funkcja zwraca informacje o zadaniu o podanym numerze jobid. :param apikey: Klucz API taki, jak ustawiony w config.ini :param jobid: Numer identyfikacyjny zadania :returns: Dane o zadaniu wyrenderowane przy pomocy szablonu joblist.csv """ if apikey != db.config.get('Basic', 'ApiKey'): abort(403) return render_template('joblist.csv', jobs = [ 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"