pySuporte - Script para controle de chamados armazena num txt.
Publicado por Murilo R. Esplugues 24/02/2005
[ Hits: 8.931 ]
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>
Manipulando as informações do USBfs no Linux
Serialização em Python usando pickle
Leitor de arquivo via linha de comandoEs
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Ubunto não reconhece rede ethernet (0)
Secure boot, artigo interessante, nada técnico. (3)
Instalação dualboot Windows 11 e Debian 13 (11)









