pySuporte - Script para controle de chamados armazena num txt.
Publicado por Murilo R. Esplugues 24/02/2005
[ Hits: 8.767 ]
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>
Detectando e excluindo imagens em branco obtidas de scanner
Manipulação de arquivos CSV - OO
Checagem e remoção de arquivos
Descobrir HOME do usuario e criar arquivo de configuração
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Jogando com Proton no LInux (0)
Ingress NGINX Controller CVSS base score of 9.8 (4)
Impossível corrigir problemas, você manteve (hold) pacotes quebrados. (2)