Pular para o conteúdo

pySuporte - Script para controle de chamados armazena num txt.

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.
Murilo R. Esplugues mre
Hits: 9.114 Categoria: Python Subcategoria: Manipulação de arquivos
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.
Download suporte.py Enviar nova versão

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>

Juntando tabelas em aquivo texto

ccl - cut and change lines

Gerenciador de músicas

Leitura de arquivo com input

Conversor MKV para AVI

#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

Entre na sua conta para comentar.