# -*- coding: utf-8 -*- """ walle-web :copyright: © 2015-2017 walle-web.io :created time: 2017-03-25 11:15:01 :author: wushuiyong@walle-web.io """ from flask import request from walle.api.api import SecurityResource from walle.model.deploy import TaskRecordModel from walle.service.deployer import Deployer from walle.service.websocket import WSHandler class DeployAPI(SecurityResource): def get(self, task_id=None): """ fetch environment list or one item /environment/<int:env_id> :return: """ super(DeployAPI, self).get() # def get(self, method): # """ # fetch role list or one role # # :return: # """ # if method == 'menu': # return self.menu() # elif method == 'mail': # return self.mail() # elif method == 'walle': # return self.walless() def post(self): """ fetch role list or one role :return: """ super(DeployAPI, self).post() task_id = request.form['task_id'] if not task_id or not task_id.isdigit(): return self.render_json(code=-1) wi = Deployer(task_id, websocket=WSHandler) ret = wi.walle_deploy() record = TaskRecordModel().fetch(task_id) return self.render_json(data={ 'command': '', 'record': record, })