Source code for deployer.views.task

import logging
import flask
from flask.views import MethodView
from conf.appconfig import TASK_SETTINGS, BOOLEAN_TRUE_VALUES
from deployer.views import task_client

from flask import request

logger = logging.getLogger(__name__)


[docs]class TaskApi(MethodView): """ Api for task """
[docs] def get(self, id=None): if not id: return flask.abort(404) else: wait = request.args.get('wait', 'false').strip().lower() wait = True if wait in BOOLEAN_TRUE_VALUES else False timeout = int(request.args.get( 'timeout', TASK_SETTINGS['DEFAULT_GET_TIMEOUT'])) response = task_client.ready(id, wait=wait, timeout=timeout) return flask.jsonify(response)
[docs]def register(app, **kwargs): app.add_url_rule('/tasks/<string:id>', view_func=TaskApi.as_view('tasks'), methods=['GET'])