Example #1
0
def soft_package():
    if request.method == 'GET':
        data = request.args
        return_data = get_software_package()
        return Result.success_response(data=return_data, msg='上传成功')

    elif request.method == 'POST':
        f_obj = request.files['file']

        data_dict = request.form.to_dict()

        current_app_ = current_app
        soft_path = os.path.join(current_app_.config.xlautoenv['PROJECT_PATH'],
                                 current_app_.config['PACKAGE'], 'software',
                                 data_dict['software_name'],
                                 data_dict['software_versions'])
        if not os.path.exists(soft_path):
            os.makedirs(soft_path)
        script_path_file = os.path.join(soft_path, f_obj.filename)
        f_obj.save(script_path_file)

        data_dict['package_path'] = soft_path

        # 解压包文件
        unzip_info = unzip_distinguish(
            data_dict['software_package_zipanalysis_type'], script_path_file,
            soft_path)
        if not ReturnG.if_ft(unzip_info):
            Result.fail_response(msg=unzip_info[1])

        # 包信息入库
        save_software_package(data_dict)

        return Result.success_response(msg='上传成功')

    elif request.method == 'DELETE':
        data_dict = request.get_json()
        software_package_info = data_dict['software_package_info']

        del_list = []
        path_list = []
        for software_package_info_one in software_package_info:
            del_list.append(software_package_info_one['software_package_id'])

            if os.path.isdir(software_package_info_one['package_path']):
                path_list.append(software_package_info_one['package_path'])

        for path_list_one in path_list:
            shutil.rmtree(path_list_one)
        del_software_package(del_list)

        return Result.success_response(msg='删除成功')
Example #2
0
def setting_main_zabbix():
    if request.method == 'POST':
        data_dict = request.get_json()

        data_dict_form = data_dict['form']
        zabbix_setting_control_status = zabbix_setting_control(current_app)

        if zabbix_setting_control_status != True:
            Result.fail_response(msg="保存失败:%s" %
                                 zabbix_setting_control_status[1])

        save_portal_label_info(data_dict_form)
        return Result.success_response(msg='保存成功')
Example #3
0
def hosts_add_host():
    data_dict = request.get_json()

    if not data_dict.get('user_role'):
        user_role = 'root'
    else:
        user_role = data_dict['user_role']

    if not data_dict.get('host_port'):
        host_port = '22'
    else:
        host_port = data_dict['host_port']

    if not data_dict['hosts_input_text'] : return Result.fail_response(msg="不支持的IP输入")

    ip_c = Ip_c()
    ip_list = ip_c.string_formatting(data_dict['hosts_input_text'])
    if not ip_list:
        return Result.fail_response(msg="IP格式异常")

    sqla = Sqla(current_app)

    for ip_one in ip_list:
        host_obj = HostInstance(host_ip=ip_one,
                                host_project=data_dict['host_project'],
                                host_type_key=data_dict['host_type'],
                                host_port=host_port
                                )
        db.session.add(host_obj)
        db.session.flush()
        host_id = host_obj.host_id
        user_pass = sqla.sql_encryption(data_dict['user_pass'])

        user_obj = HostUser(host_id=host_id,
                            user_name=data_dict['user_name'],
                            user_pass=user_pass,
                            user_role=user_role
                            )
        db.session.add(user_obj)
    db.session.commit()
    db.session.close()
    db.session.remove()

    return Result.success_response(msg='新增成功')
Example #4
0
def software_conf():
    if request.method == 'GET':
        data = request.args
        software_package_id = data['software_package_id']
        soft_obj = get_software_package_one(software_package_id)

        if soft_obj:
            return_data = {
                'package_path':
                soft_obj['package_path'].replace('\\', '/') + '/',
                'package_path_dir_list': get_dir_file(soft_obj['package_path'])
            }
            return Result.success_response(data=return_data, msg='查询成功')
        else:
            return Result.fail_response(data=[], msg='查询成功')

    elif request.method == 'POST':
        f_obj = request.files['file']

        data_dict = request.form.to_dict()

        return Result.success_response(msg='保存成功')