pySuporte - Script para controle de chamados armazena num txt.
Publicado por Murilo R. Esplugues 24/02/2005
[ Hits: 8.700 ]
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>
Serialização em Python usando pickle
Leitor de arquivo via linha de comandoEs
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (6)