From 1b4396bafd0dde7c41366bbc2bc0cc95ea95f2f9 Mon Sep 17 00:00:00 2001 From: pycook Date: Fri, 1 Jan 2016 10:03:58 +0800 Subject: [PATCH] init.... --- core/audit.py | 100 -------------------------------------------------- 1 file changed, 100 deletions(-) delete mode 100644 core/audit.py diff --git a/core/audit.py b/core/audit.py deleted file mode 100644 index 2ebad9e..0000000 --- a/core/audit.py +++ /dev/null @@ -1,100 +0,0 @@ -# -*- coding:utf-8 -*- - -__author__ = 'pycook' - -import urllib - -from flask import Blueprint -from flask import request -from flask import jsonify -from flask import abort - -from lib.audit import CIAuditManager -from lib.utils import get_page -from lib.auth import auth_with_key - - -audit = Blueprint("audit", __name__) - - -@audit.route("", methods=["GET"]) -def get_ci_audits(): - page = get_page(request.values.get("page", 1)) - type_ids = request.values.get("type_ids", "").split(",") - type_ids = map(int, filter(lambda x: x != "", type_ids)) - type_ids = tuple(type_ids) - numfound, total, ci_audits = CIAuditManager().get_cis_for_audits( - page, type_ids) - return jsonify(numfound=numfound, total=total, - page=page, ci_audits=ci_audits) - - -@audit.route("", methods=["POST"]) -@auth_with_key -def create_ci_audit(): - if request.data: - args = dict() - _args = request.data.split("&") - for arg in _args: - if arg: - args[arg.split("=")[0]] = \ - urllib.unquote(urllib.unquote(arg.split("=")[1])) - else: - args = request.values - attr_pairs = dict() - type_name = "" - for k, v in args.items(): - if k == "ci_type": - type_name = v - elif not k.startswith("_"): - attr_pairs[k] = v - ret, res = CIAuditManager().create_ci_audits(type_name=type_name, - attr_pairs=attr_pairs) - if not ret: - return abort(500, res) - return jsonify(code=200) - - -@audit.route("/attribute/", methods=["POST"]) -@auth_with_key -def audit_by_attr(audit_id): - attr_ids = request.values.get("attr_ids", "") - if not attr_ids: - return abort(500, "argument attr_ids is required") - split_tag = filter(lambda x: x in attr_ids, [";", ","]) - attr_value = None - if not split_tag: - attr_value = request.values.get("attr_value") - if attr_value is None: - return abort(500, "argument attr_value is required") - attr_ids = [int(attr_ids)] - else: - attr_ids = attr_ids.split(split_tag[0]) - attr_ids = map(int, attr_ids) - - manager = CIAuditManager() - ret, res = manager.audit_by_attr(audit_id, attr_ids, value=attr_value) - if ret: - return jsonify(code=200) - else: - return abort(500, res) - - -@audit.route("/cis", methods=["POST"]) -@auth_with_key -def audit_by_cis(): - ci_ids = request.values.get("ci_ids", "") - if not ci_ids: - return abort(500, "argument ci_ids is required") - split_tag = filter(lambda x: x in ci_ids, [",", ";"]) - if split_tag: - ci_ids = ci_ids.split(split_tag[0]) - else: - ci_ids = [ci_ids] - ci_ids = map(int, ci_ids) - manager = CIAuditManager() - ret, res = manager.audit_by_cis(ci_ids) - if ret: - return jsonify(code=200) - else: - return abort(500, res) \ No newline at end of file