pySuporte - Script para controle de chamados armazena num txt.
Publicado por Murilo R. Esplugues 24/02/2005
[ Hits: 8.823 ]
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
Manipulando arquivos com Pickle
Agenda de cadastros com tratamento de erros
Mini-dicionário de termos em Python e PyQT 4
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Manjaro 25.0 no permite usar crontab (1)
Como fazer boot em img do debian 12.img da web? (1)
trocar linhas [RESOLVIDO] (11)