def put(self): request_debug(r, logger) # if r.content_type.startswith("application/json"): # body = dict(r.get_json(force=True, silent=True)) # else: # body = r.form # if "id" not in body: # error_msg = "host PUT without enough data" # logger.warning(error_msg) # return make_fail_resp(error=error_msg, # data=body) # else: # id, d = body["id"], {} # for k in body: # if k != "id": # d[k] = body.get(k) args = host_update_parser.parse_args() id, d = args.get('host_id'), {} name = args.get('host_name') if name: d['name'] = name for k, v in args.items(): if k not in ["host_id", 'host_name'] and v: d[k] = args.get(k) result = host_handler.update(id, d) if result: logger.debug("host PUT successfully") return make_ok_resp() else: error_msg = "Failed to update host {}".format(result.get("name")) logger.warning(error_msg) return make_fail_resp(error=error_msg)
def host_update(): request_debug(r, logger) if "id" not in r.form: error_msg = "host PUT without enough data" logger.warning(error_msg) return make_fail_response(error=error_msg, data=r.form) else: id, d = r.form["id"], {} for k in r.form: if k != "id": d[k] = r.form.get(k) result = host_handler.update(id, d) if result: logger.debug("host PUT successfully") return make_ok_response() else: error_msg = "Failed to update host {}".format(result.get("name")) logger.warning(error_msg) return make_fail_response(error=error_msg)
def host_update(): request_debug(r, logger) if "id" not in r.form: error_msg = "host PUT without enough data" logger.warning(error_msg) return make_fail_resp(error=error_msg, data=r.form) else: id, d = r.form["id"], {} for k in r.form: if k != "id": d[k] = r.form.get(k) result = host_handler.update(id, d) if result: logger.debug("host PUT successfully") return make_ok_resp() else: error_msg = "Failed to update host {}".format(result.get("name")) logger.warning(error_msg) return make_fail_resp(error=error_msg)
def host_update(): request_debug(r, logger) if r.content_type.startswith("application/json"): body = dict(r.get_json(force=True, silent=True)) else: body = r.form if "id" not in body: error_msg = "host PUT without enough data" logger.warning(error_msg) return make_fail_resp(error=error_msg, data=body) else: id, d = body["id"], {} for k in body: if k != "id": d[k] = body.get(k) result = host_handler.update(id, d) if result: logger.debug("host PUT successfully") return make_ok_resp() else: error_msg = "Failed to update host {}".format(result.get("name")) logger.warning(error_msg) return make_fail_resp(error=error_msg)
def host_api(): request_debug(r, logger) if r.method == 'GET': if "id" not in r.args and "id" not in r.form: logger.warn("host get without enough data") response_fail["error"] = "host GET without enough data" response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST else: host_id = request_get(r, "id") result = host_handler.get_by_id(host_id) if result: return jsonify(result), CODE_OK else: logger.warn("host not found with id=" + host_id) response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST elif r.method == 'POST': name, daemon_url, capacity, log_type, log_server, log_level = \ r.form['name'], r.form['daemon_url'], r.form['capacity'], \ r.form['log_type'], r.form['log_server'], r.form['log_level'] if "autofill" in r.form and r.form["autofill"] == "on": autofill = "true" else: autofill = "false" if "schedulable" in r.form and r.form["schedulable"] == "on": schedulable = "true" else: schedulable = "false" logger.debug("name={}, daemon_url={}, capacity={}" "fillup={}, schedulable={}, log={}/{}".format( name, daemon_url, capacity, autofill, schedulable, log_type, log_server)) if not name or not daemon_url or not capacity or not log_type: logger.warn("host post without enough data") response_fail["error"] = "host POST without enough data" response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST else: result = host_handler.create(name=name, daemon_url=daemon_url, capacity=int(capacity), autofill=autofill, schedulable=schedulable, log_level=log_level, log_type=log_type, log_server=log_server) if result: logger.debug("host creation successfully") return jsonify(response_ok), CODE_CREATED else: logger.debug("host creation failed") response_fail["error"] = "Failed to create host {}".format( r.form["name"]) return jsonify(response_fail), CODE_BAD_REQUEST elif r.method == 'PUT': if "id" not in r.form: logger.warn("host put without enough data") response_fail["error"] = "host PUT without enough data" response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST else: id, d = r.form["id"], {} for k in r.form: if k != "id": d[k] = r.form.get(k) result = host_handler.update(id, d) if result: logger.debug("host PUT successfully") return jsonify(response_ok), CODE_OK else: logger.debug("host PUT failed") response_fail["error"] = "Failed to update host {}".format( result.get("name")) return jsonify(response_fail), CODE_BAD_REQUEST elif r.method == 'DELETE': if "id" not in r.form or not r.form["id"]: logger.warn("host operation post without enough data") response_fail["error"] = "host delete without enough data" response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST else: logger.debug("host delete with id={0}".format(r.form["id"])) if host_handler.delete(id=r.form["id"]): return jsonify(response_ok), CODE_OK else: response_fail["error"] = "Failed to delete host {}".format( r.form["id"]) return jsonify(response_fail), CODE_BAD_REQUEST else: response_fail["error"] = "unknown operation method" response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST
def host_update(): request_debug(r, logger) if r.content_type.startswith("application/json"): body = dict(r.get_json(force=True, silent=True)) else: body = r.form # add operating log cur_time = datetime.datetime.utcnow() opName = sys._getframe().f_code.co_name opObject = "Host" operator = "admin" opResult = {} op_log_handler = OperatorLogHandler() opDetails = body if "id" not in body: error_msg = "host PUT without enough data" logger.warning(error_msg) opResult['resDes'] = "ERROR" opResult['resCode'] = 404 opResult['errorMsg'] = error_msg op_log_handler.create(opDate=cur_time, opName=opName, opObject=opObject, opResult=opResult, operator=operator, opDetails=opDetails) return make_fail_resp(error=error_msg, data=body, code=404) else: id, d = body["id"], {} for k in body: if k != "id": d[k] = body.get(k) result = host_handler.update(id, d) if result: logger.debug("host PUT successfully") opResult['resDes'] = "OK" opResult['resCode'] = 200 opResult['errorMsg'] = '' op_log_handler.create(opDate=cur_time, opName=opName, opObject=opObject, opResult=opResult, operator=operator, opDetails=opDetails) return make_ok_resp() else: error_msg = "Failed to update host {}".format(result.get("name")) logger.warning(error_msg) opResult['resDes'] = "ERROR" opResult['resCode'] = 500 opResult['errorMsg'] = error_msg op_log_handler.create(opDate=cur_time, opName=opName, opObject=opObject, opResult=opResult, operator=operator, opDetails=opDetails) return make_fail_resp(error=error_msg, data=body, code=500)