pySuporte - Script para controle de chamados armazena num txt.
Publicado por Murilo R. Esplugues 24/02/2005
[ Hits: 8.946 ]
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>
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
Queda no serviços da Cloudflare, alguns sites estão fora do ar. (1)
Perfil criado no samba ad dc não loga no Windows 10 e 11 (11)









