コード例 #1
0
def hostlist_csv(dest, nome, idx=''):
    ''' Gera a lista de Hosts e exibe o resultado em arquivo separado por virgulas (CSV).
        dest contem o diretorio fornecido para salvar o relatorio. Tem que fornecer o caminho absoluto.
        nome contem o nome do arquivo que sera criado.
        idx contem o indice do host, caso nao for fornecido sera retornado todos os hosts cadastrados.
        '''

    # Gera uma lista de tuplas com o(s) host(s) desejado(s).
    l = dbmanager.query_hosts_db('{0}{1}'.format(INSTALL_PATH, DB), idx)

    # Verifica ha host para o relatorio
    if len(l) > 0:
        try:
            # Cria o arquivo do relatorio no formato CSV
            with open('{0}{1}.csv'.format(dest, nome), 'w') as arq:

                # Escreve no arquivo os titulos das colunas
                arq.writelines('"ID";"IP";"HOST";"DESCRICAO";"LIGADO";"CONTATO";"LOCAL";"NUM. SERVICOS";"DATA";"HORA"\n')

                # Passa host a host inserindo os dados no arquivo.
                for i in l:
                    # Com cada host e gerada uma lista dos dados
                    lg1 = dbmanager.query_group1_db('{0}{1}'.format(INSTALL_PATH, DB), i[0])

                    # Escreve no arquivo
                    arq.writelines('"{0}";"{1}";"{2}";"{3}";"{4}";"{5}";"{6}";"{7}";"{8}";"{9}"\n'.format(i[0], i[1], i[2], lg1[0], lg1[1], lg1[2], lg1[3], lg1[4], lg1[5], lg1[6]))

            # Chama o gedit para exibir o arquivo
            subprocess.call(['gedit', '{0}{1}.csv'.format(dest, nome)])

            # Insere sucesso no log
            logdbquery('SUCESSO ao criar o arquivo {0}{1}.csv'.format(dest, nome))
        except:

            # Insere falha no log
            logdbquery('FALHA ao criar o arquivo {0}{1}.csv'.format(dest, nome))
            print 'Falha ao criar o arquivo.'
    else:
        # Insere falha no log se nao houver hosts para gerar o relatorio
        logdbquery('FALHA, Nenhum Host encontrado ao gerar {0}{1}.csv'.format(dest, nome))
        print 'Nenhum Host encontrado.'
コード例 #2
0
def hostlist_txt(idx=''):
    ''' Gera a lista de Hosts e formata o resultado para ser inserido em um arquivo de texto.
        idx contem o indice do host, caso nao for fornecido sera retornado todos os hosts cadastrados.
        '''

    # Gera uma lista de tuplas com o(s) host(s) desejado(s).
    l = dbmanager.query_hosts_db('{0}{1}'.format(INSTALL_PATH, DB), idx)

    # Verifica ha host para o relatorio
    if len(l) > 0:
        try:

            # Cria o arquivo do relatorio no formato TXT
            with open('{0}{1}hostslists.txt'.format(INSTALL_PATH, TEMP_FOLDER), 'w') as arq:

                # Passa host a host inserindo os dados no arquivo.
                for i in l:
                    # Com cada host e gerada uma lista dos dados
                    lg1 = dbmanager.query_group1_db('{0}{1}'.format(INSTALL_PATH, DB), i[0])

                    # Escreve no arquivo
                    arq.writelines('ID: {0}\nIP: {1}\nHOST: {2}\nDESCRICAO: {3}\nLIGADO: {4}\nCONTATO: {5}\nLOCAL: {6}\nNUM. SERVICOS: {7}\nDATA: {8}\nHORA: {9}\n\n'.format(i[0], i[1], i[2], lg1[0], lg1[1], lg1[2], lg1[3], lg1[4], lg1[5], lg1[6]))

            # Abre o gedit com o relatorio criado
            subprocess.call(['gedit', '{0}{1}hostslists.txt'.format(INSTALL_PATH, TEMP_FOLDER)])

            # Insere sucesso no log
            logdbquery('SUCESSO ao criar o arquivo {0}{1}hostslists.txt'.format(INSTALL_PATH, TEMP_FOLDER))
        except:
            # Insere falha no log
            logdbquery('FALHA ao criar o arquivo {0}{1}hostslists.txt'.format(INSTALL_PATH, TEMP_FOLDER))
            print 'Falha ao criar o arquivo.'
    else:
        # Insere falha no log se nao houver nenhum host para gerar o relatorio
        logdbquery('FALHA, Nenhum Host encontrado ao gerar {0}{1}hostslists.txt'.format(INSTALL_PATH, TEMP_FOLDER))
        print 'Nenhum Host encontrado.'