pySuporte - Script para controle de chamados armazena num txt.

Publicado por Murilo R. Esplugues 24/02/2005

[ Hits: 8.675 ]

Homepage: http://www.helpday.blogspot.com/

Download suporte.py




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.

  



Esconder código-fonte

<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>

Scripts recomendados

Miojo Notepad 0.3

Leitura de arquivo com input

Agenda PasPy

Expressão regular com input STDIN

Calculador de Frequência


  

Comentários
[1] Comentário enviado por Ale_ em 24/02/2005 - 16:52h

na linha 40 do codigo tem q alterar:
incluir()
por
Incluir()

=)

[2] Comentário enviado por mre em 25/02/2005 - 07:46h

Realmente bem observado, obrigado!

[3] Comentário enviado por eddie21 em 09/01/2011 - 00:17h

o erro "Incluir()" esta na linha 39, otimo script.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts