pySuporte - Script para controle de chamados armazena num txt.
Publicado por Murilo R. Esplugues 24/02/2005
[ Hits: 8.675 ]
Homepage: http://www.helpday.blogspot.com/
Criei esse script a alguns meses para fazer o controle dos chamados na empresa onde trabalho. Com ele você pode inserir, procurar por data, e exibir todos os registros. Ele guarda os em um arquivo de texto que pode por exemplo ser facilmente importado pelo OpenOffice Calc ou MsExcel.
<pre> #!/usr/bin/env python # Autor: Murilo R. Esplugues # Data: 23/02/2005 # Nome do arquivo: suporte.py # Descricao do programa: Inclusao/Consulta de chamados grava em chamados.txt # Python Vrs: Python 2.4.* - e vrs anteriores # Contato: murilo_esplugues@yahoo.com.br # Categorias: Script - Python - ModoTexto # uso: apenas execute o arquivo. # -*- coding: iso8859-1 -*- import time file = 'chamados.txt' def Incluir(): """ Utilizado para incluir cadastros no arquivo """ # Dados para inclusao data = raw_input('Data (MM/DD/AA) (Pressione "d" para hoje) :') if data == 'd': # Captura o dia, mes e ano do relogio do computador data = time.strftime('%x') nome = raw_input('Nome: ') setor = raw_input('Setor: ') if setor == '': setor = 'xxxx' ramal = raw_input('Ramal: ') if ramal == '': ramal = 'xxxx' chamado = raw_input('Chamado: ') # Nome e chamado nao podem ser em branco if nome == '' or chamado == '': print 'Esse dado e obrigatorio' incluir() # Abrir e adicionar chamado, caso nao existe cria try: bd = open(file, 'a') except IOError: print "Nao e possivel abrir '%s'" % file else: inserir = (data + '\t' + nome + '\t' + setor + '\t' + ramal + '\t' + chamado) # Inserindo dados ao bd ( um chamado por linha) bd.write(inserir + '\n') bd.close def Status(): """ Retorna registros seu tamanho e quantidade """ print '\n' * 100 # Abrindo arquivo como somente leitura (r) bd = open(file, 'r') data = raw_input('Data em que chamado foi aberto (MM/DD/AA): ') registro = bd.readlines() registro.sort() if data <> '': for linha in registro: if data in linha: print linha else: count = 0 count2 = 0 linhas = 30 print 'Registros: ' for x in registro: if count <= linhas: print count2, x, count = count + 1 count2 = count2 + 1 else: more = raw_input('Mais? (s/n): ') if more in ['s','S']: count = 0 elif more in ['n','N']: break else: print 'Opcao nao encontrada!' time.sleep(1) print print '--------------------------------------' print 'Voce possui', count2, 'registros!' print '--------------------------------------' print bd.close def Principal(): """ Loop Infinito executando o Menu Principal """ opcao = None while 1: opcao = raw_input(''' **************************** *** Controle de Chamados *** **************************** [i-I] - Incluir [l-L] - Listar [s-S] - Sair Escolha uma opcao: ''') if opcao in ['i','I']: Incluir() elif opcao in ['l','L']: Status() elif opcao in ['s','S']: break if __name__ == '__main__': Principal() </pre>
Expressão regular com input STDIN
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta