pySuporte - Script para controle de chamados armazena num txt.
Publicado por Murilo R. Esplugues 24/02/2005
[ Hits: 8.929 ]
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 arquivos com Pickle
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?
Programa fora de escala na tela do pc (34)
Instalação dualboot Windows 11 e Debian 13 (0)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









