pySuporte - Script para controle de chamados armazena num txt.
Publicado por Murilo R. Esplugues 24/02/2005
[ Hits: 8.832 ]
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>
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
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (0)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (6)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)