Пример #1
0
def branch_export(request):
    export = request.GET.get("export", '')
    branch_id_list = request.GET.getlist("id", '')
    if export == "part":
        if branch_id_list:
            branch_find = []
            for branch_id in branch_id_list:
                branch_item = Branch.objects.get(id=branch_id)
                if branch_item:
                    branch_find.append(branch_item)

    if export == "all":
        branch_find = Branch.objects.all()

    response = HttpResponse(content_type='text/csv')
    now = datetime.datetime.now().strftime('%Y_%m_%d_%H_%M')
    file_name = 'monster_branch_' + now + '.csv'
    response['Content-Disposition'] = "attachment; filename=" + file_name
    writer = csv.writer(response)
    writer.writerow([
        str2gb(u'机构名称'),
        str2gb(u'机构地址'),
        str2gb(u'负责人'),
        str2gb(u'电话'),
        str2gb(u'说明'),
    ])
    for p in branch_find:
        writer.writerow([
            str2gb(p.name),
            str2gb(p.address), p.owner, p.telphone,
            str2gb(p.owner)
        ])
    return response
Пример #2
0
def create_asset_excel(export, asset_id_all):
    if export == "true":
        if asset_id_all:
            asset_find = []
            for asset_id in asset_id_all:
                asset_item = get_object(Host, id=asset_id)
                if asset_item:
                    asset_find.append(asset_item)
            response = HttpResponse(content_type='text/csv')
            now = datetime.datetime.now().strftime('%Y_%m_%d_%H_%M')
            file_name = 'adminset_cmdb_' + now + '.csv'
            response[
                'Content-Disposition'] = "attachment; filename=" + file_name
            writer = csv.writer(response)
            writer.writerow([
                str2gb(u'主机名'),
                str2gb(u'IP地址'),
                str2gb(u'其它IP'),
                str2gb(u'所在机房'),
                str2gb(u'资产编号'),
                str2gb(u'设备类型'),
                str2gb(u'设备状态'),
                str2gb(u'操作系统'),
                str2gb(u'设备厂商'),
                str2gb(u'CPU型号'),
                str2gb(u'CPU核数'),
                str2gb(u'内存大小'),
                str2gb(u'硬盘信息'),
                str2gb(u'SN号码'),
                str2gb(u'所在位置'),
                str2gb(u'备注信息')
            ])
            for h in asset_find:
                if h.asset_type:
                    at_num = int(h.asset_type)
                    a_type = ASSET_TYPE[at_num - 1][1]
                else:
                    a_type = ""
                if h.status:
                    at_as = int(h.status)
                    a_status = ASSET_STATUS[at_as - 1][1]
                else:
                    a_status = ""
                writer.writerow([
                    str2gb(h.hostname), h.ip, h.other_ip,
                    str2gb(h.idc),
                    str2gb(h.asset_no),
                    str2gb(a_type),
                    str2gb(a_status),
                    str2gb(h.os),
                    str2gb(h.vendor),
                    str2gb(h.cpu_model),
                    str2gb(h.cpu_num),
                    str2gb(h.memory),
                    str2gb(h.disk),
                    str2gb(h.sn),
                    str2gb(h.position),
                    str2gb(h.memo)
                ])
            return response

    if export == "all":
        host = Host.objects.all()
        response = HttpResponse(content_type='text/csv')
        now = datetime.datetime.now().strftime('%Y_%m_%d_%H_%M')
        file_name = 'adminset_cmdb_' + now + '.csv'
        response['Content-Disposition'] = "attachment; filename=" + file_name
        writer = csv.writer(response)
        writer.writerow([
            str2gb('主机名'),
            str2gb('IP地址'),
            str2gb('其它IP'),
            str2gb('所在机房'),
            str2gb('资产编号'),
            str2gb('设备类型'),
            str2gb('设备状态'),
            str2gb('操作系统'),
            str2gb('设备厂商'),
            str2gb('CPU型号'),
            str2gb('CPU核数'),
            str2gb('内存大小'),
            str2gb('硬盘信息'),
            str2gb('SN号码'),
            str2gb('所在位置'),
            str2gb('备注信息')
        ])
        for h in host:
            if h.asset_type:
                at_num = int(h.asset_type)
                a_type = ASSET_TYPE[at_num - 1][1]
            else:
                a_type = ""
            if h.status:
                at_as = int(h.status)
                a_status = ASSET_STATUS[at_as - 1][1]
            else:
                a_status = ""
            writer.writerow([
                str2gb(h.hostname), h.ip, h.other_ip,
                str2gb(h.idc),
                str2gb(h.asset_no),
                str2gb(a_type),
                str2gb(a_status),
                str2gb(h.os),
                str2gb(h.vendor),
                str2gb(h.cpu_model),
                str2gb(h.cpu_num),
                str2gb(h.memory),
                str2gb(h.disk),
                str2gb(h.sn),
                str2gb(h.position),
                str2gb(h.memo)
            ])
        return response
Пример #3
0
def resource_export(request):
    export = request.GET.get("export", '')
    resource_id_list = request.GET.getlist("id", '')
    if export == "part":
        if resource_id_list:
            resource_find = []
            for resource_id in resource_id_list:
                resource_item = Resource.objects.get(id=resource_id)
                if resource_item:
                    resource_find.append(resource_item)

    if export == "all":
        resource_find = Resource.objects.all()

    response = HttpResponse(content_type='text/csv')
    now = datetime.datetime.now().strftime('%Y_%m_%d_%H_%M')
    file_name = 'adminset_resource_' + now + '.csv'
    response['Content-Disposition'] = "attachment; filename=" + file_name
    writer = csv.writer(response)
    writer.writerow([
        str2gb(u'资源名称'),
        str2gb(u'资源规格'),
        str2gb(u'预算金额'),
        str2gb(u'合同金额'),
        str2gb(u'合同编号'),
        str2gb(u'合同开始'),
        str2gb(u'合同结束'),
        str2gb(u'供应商名'),
        str2gb(u'服务电话'),
        str2gb(u'所属机构'),
        str2gb(u'备注说明')
    ])
    for p in resource_find:
        writer.writerow([
            str2gb(p.name),
            str2gb(p.spec),
            str2gb(p.budget),
            str2gb(p.paid),
            str2gb(p.contract),
            str2gb(p.contract_start),
            str2gb(p.contract_end),
            str2gb(p.suppier),
            str2gb(p.service_phone),
            str2gb(p.branch),
            str2gb(p.description)
        ])
    return response
Пример #4
0
def resource_export(request):
    resource = Resource.objects.all()
    response = HttpResponse(content_type='text/csv')
    now = datetime.datetime.now().strftime('%Y_%m_%d_%H_%M')
    file_name = 'adminset_resource_' + now + '.csv'
    response['Content-Disposition'] = "attachment; filename=" + file_name
    writer = csv.writer(response)
    writer.writerow([
        str2gb('行政区域'),
        str2gb('分支机构'),
        str2gb('资源编码'),
        str2gb('资源名称'),
        str2gb('资源规格'),
        str2gb('预算资金'),
        str2gb('合同资金'),
        str2gb('合同编号'),
        str2gb('合同开始'),
        str2gb('合同结束'),
        str2gb('供应商名'),
        str2gb('服务电话'),
        str2gb('客户经理'),
        str2gb('联系电话'),
        str2gb('备注说明')
    ])
    for r in resource:
        if r.branch:
            br = Branch.objects.get(name=r.branch)
        else:
            br = ""
        writer.writerow([
            str2gb(br.region.name),
            str2gb(r.branch.name), r.sn,
            str2gb(r.name),
            str2gb(r.spec),
            str2gb(r.budget),
            str2gb(r.paid),
            str2gb(r.contract),
            str2gb(r.contract_start),
            str2gb(r.contract_end),
            str2gb(r.supplier),
            str2gb(r.service_phone),
            str2gb(r.owner),
            str2gb(r.owner.phone),
            str2gb(r.description)
        ])
    return response
Пример #5
0
def project_export(request):
    export = request.GET.get("export", '')
    project_id_list = request.GET.getlist("id", '')
    if export == "part":
        if project_id_list:
            project_find = []
            for project_id in project_id_list:
                project_item = Project.objects.get(id=project_id)
                if project_item:
                    project_find.append(project_item)

    if export == "all":
        project_find = Project.objects.all()

    response = HttpResponse(content_type='text/csv')
    now = timezone.now().strftime('%Y_%m_%d_%H_%M')
    file_name = 'adminset_project_' + now + '.csv'
    response['Content-Disposition'] = "attachment; filename="+file_name
    writer = csv.writer(response)
    writer.writerow([str2gb(u'项目名称'), str2gb(u'项目描述'), str2gb(u'语言类型'), str2gb(u'程序类型'),
                     str2gb(u'服务器类型'), str2gb(u'程序框架'), str2gb(u'源类型'), str2gb(u'源地址'),
                     str2gb(u'程序部署路径'), str2gb(u'配置文件路径'),
                     str2gb(u'所属产品线'), str2gb(u'项目负责人'), str2gb(u'服务器')])
    for p in project_find:
        server_array = p.serverList
        server_result = ""
        for server in p.serverList.all():
            server_result += server.hostname+"\n"
        writer.writerow([str2gb(p.name), str2gb(p.description), p.language_type, p.app_type, p.server_type,
                        p.app_arch, p.source_type, p.source_address, p.appPath, p.configPath, str2gb(p.product),
                         str2gb(p.owner), str2gb(server_result)])
    return response
Пример #6
0
def project_export(request):
    export = request.GET.get("export", '')
    project_id_list = request.GET.getlist("id", '')
    if export == "part":
        if project_id_list:
            project_find = []
            for project_id in project_id_list:
                project_item = Project.objects.get(id=project_id)
                if project_item:
                    project_find.append(project_item)

    if export == "all":
        project_find = Project.objects.all()

    response = HttpResponse(content_type='text/csv')
    now = datetime.datetime.now().strftime('%Y_%m_%d_%H_%M')
    file_name = 'adminset_project_' + now + '.csv'
    response['Content-Disposition'] = "attachment; filename="+file_name
    writer = csv.writer(response)
    writer.writerow([str2gb(u'项目名称'), str2gb(u'项目描述'), str2gb(u'语言类型'), str2gb(u'程序类型'),
                     str2gb(u'服务器类型'), str2gb(u'程序框架'), str2gb(u'源类型'), str2gb(u'源地址'),
                     str2gb(u'程序部署路径'), str2gb(u'配置文件路径'),
                     str2gb(u'所属产品线'), str2gb(u'项目负责人'), str2gb(u'服务器')])
    for p in project_find:
        server_array = p.serverList
        server_result = ""
        for server in p.serverList.all():
            server_result += server.hostname+"\n"
        writer.writerow([str2gb(p.name), str2gb(p.description), p.language_type, p.app_type, p.server_type,
                        p.app_arch, p.source_type, p.source_address, p.appPath, p.configPath, str2gb(p.product),
                         str2gb(p.owner), str2gb(server_result)])
    return response
Пример #7
0
def create_asset_excel(export, asset_id_all):
    if export == "true":
        if asset_id_all:
            asset_find = []
            for asset_id in asset_id_all:
                asset_item = get_object(Host, id=asset_id)
                if asset_item:
                    asset_find.append(asset_item)
            response = HttpResponse(content_type='text/csv')
            now = datetime.datetime.now().strftime('%Y_%m_%d_%H_%M')
            file_name = 'adminset_cmdb_' + now + '.csv'
            response['Content-Disposition'] = "attachment; filename="+file_name
            writer = csv.writer(response)
            writer.writerow([str2gb(u'主机名'), str2gb(u'IP地址'), str2gb(u'其它IP'), str2gb(u'主机组'),
                             str2gb(u'资产编号'), str2gb(u'设备类型'), str2gb(u'设备状态'), str2gb(u'操作系统'),
                             str2gb(u'设备厂商'), str2gb(u'CPU型号'), str2gb(u'CPU核数'), str2gb(u'内存大小'),
                             str2gb(u'硬盘信息'), str2gb(u'SN号码'), str2gb(u'所在机房'), str2gb(u'所在位置'),
                             str2gb(u'备注信息')])
            for h in asset_find:
                if h.asset_type:
                    at_num = int(h.asset_type)
                    a_type = ASSET_TYPE[at_num-1][1]
                else:
                    a_type = ""
                if h.status:
                    at_as = int(h.status)
                    a_status = ASSET_STATUS[at_as-1][1]
                else:
                    a_status = ""
                writer.writerow([str2gb(h.hostname), h.ip, h.other_ip, str2gb(h.group), str2gb(h.asset_no),
                                 str2gb(a_type), str2gb(a_status), str2gb(h.os), str2gb(h.vendor),
                                 str2gb(h.cpu_model), str2gb(h.cpu_num), str2gb(h.memory), str2gb(h.disk),
                                 str2gb(h.sn), str2gb(h.idc), str2gb(h.position), str2gb(h.memo)])
            return response

    if export == "all":
        host = Host.objects.all()
        response = HttpResponse(content_type='text/csv')
        now = datetime.datetime.now().strftime('%Y_%m_%d_%H_%M')
        file_name = 'adminset_cmdb_' + now + '.csv'
        response['Content-Disposition'] = "attachment; filename=" + file_name
        writer = csv.writer(response)
        writer.writerow([str2gb('主机名'), str2gb('IP地址'), str2gb('其它IP'), str2gb('主机组'), str2gb('资产编号'),
                         str2gb('设备类型'), str2gb('设备状态'), str2gb('操作系统'), str2gb('设备厂商'), str2gb('CPU型号'),
                         str2gb('CPU核数'), str2gb('内存大小'), str2gb('硬盘信息'), str2gb('SN号码'), str2gb('所在机房'),
                         str2gb('所在位置'), str2gb('备注信息')])
        for h in host:
            if h.asset_type:
                at_num = int(h.asset_type)
                a_type = ASSET_TYPE[at_num-1][1]
            else:
                a_type = ""
            if h.status:
                at_as = int(h.status)
                a_status = ASSET_STATUS[at_as-1][1]
            else:
                a_status = ""
            writer.writerow([str2gb(h.hostname), h.ip, h.other_ip, str2gb(h.group), str2gb(h.asset_no), str2gb(a_type),
                             str2gb(a_status), str2gb(h.os), str2gb(h.vendor), str2gb(h.cpu_model), str2gb(h.cpu_num),
                             str2gb(h.memory), str2gb(h.disk), str2gb(h.sn), str2gb(h.idc), str2gb(h.position),
                             str2gb(h.memo)])
        return response