Agenda PasPy

Publicado por Alexandre 02/06/2005

[ Hits: 5.326 ]

Download agenda.py




Agenda que utiliza arquivos txt como 'bd.'

  



Esconder código-fonte

#!/usr/bin/env python

''' '' '' '' '' ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
''' Licenca:GPL ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
''' '' '' '' '' ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''

# ----------- -----  -----   ----    ---     --      -      by psybox|
# Autor: psybox                                                      |
# Contato: [email protected]                                      |
# -------------------------------------------------------------------

import os
import time

# Pasta para os dados
mDir = os.system("ls dados")
if( mDir <> "" ):
   os.system("mkdir dados")

Dir_dados = './dados/'
Arq1 = ''

#____CADASTRAR____#
# Defino a funcao 'cadastrar()'
# com a tarefa de coletar
# informacoes basicas para
# o cadastramento via arquivo
# texto de um contato na
# agenda, sendo as seguintes
# informacoes necessarias:
# - Nome   STRING -> Arquivo
# - Sobrenome   STRING
# - Endereco   STRING
# - Telefone   STRING

def cadastrar():
   Pessoal = {'Nome':'','Sobrenome':'','Endereco':'','Tel':''}
   
   print('\n ------------- -----  -----   ----    ----    ---      --      -      by psybox')
   print('\n')
   Pessoal['Nome'] = raw_input('\nNome: ')
   Pessoal['Sobrenome'] = raw_input('\nSobrenome: ')
   Pessoal['Endereco'] = raw_input('\nEndereco: ')
   Pessoal['Tel'] = raw_input('\nTelefone: ')
   x = len(Pessoal['Nome'])
   if (x == 0) or (Pessoal['Nome'] == '\b'):
      print("\n Digite um nome valido!")
      cadastrar()
   
   nome = Pessoal['Nome']
   Arq1 = open(Dir_dados+nome, 'a')
   
   Pessoal['Nome'] = Pessoal['Nome']+'\n'
   Pessoal['Sobrenome'] = Pessoal['Sobrenome']+'\n'
   Pessoal['Endereco'] = Pessoal['Endereco']+'\n'
   Pessoal['Tel'] = Pessoal['Tel']+'\n'
   Arq1.write(Pessoal['Nome'])
   Arq1.write(Pessoal['Sobrenome'])
   Arq1.write(Pessoal['Endereco'])
   Arq1.write(Pessoal['Tel'])
   Arq1.close()
   
   print('\n** Contato adicionado!')
   
   time.sleep(1.5)
   Menu()

#____CONSULTAR____#
# Defino a funcao 'consultar()'
# com a tarefa de leitura
# e exibicao de informacoes
# registradas em um arquivo
# texto, onde sera necessaria
# a seguinte informacao para sucesso:
# - Nome   STRING -> Arquivo

def consultar():
   linha = ''
   nome = ''
   
   print('\n ------------- -----  -----   ----    ----    ---      --      -      by psybox')
   print('\n')
   nome = raw_input('Nome do contato: ')
   
   try:
      Arq1 = open(Dir_dados+nome,'r')
   except:
      print("\n** Contato nao cadastrado!")
      time.sleep(3)
      consultar()
   try:
      linha = Arq1.readline()
      print('\nNome: '+linha)
      linha = Arq1.readline()
      print('Sobrenome: '+linha)
      linha = Arq1.readline()
      print('Endereco: '+linha)
      linha = Arq1.readline()
      print('Telefone: '+linha)
   except:
      print('\n** Erro ao ler arquivo!')
      exit
   Arq1.close()
   nome = raw_input('\n** Para continuar pressione [ENTER]...')
   Menu()

#____LISTAR____#

def listar():
   lista = ''
   
   os.system('ls '+Dir_dados+' > /tmp/lista')
   Arq1 = open('/tmp/lista','r')
   lista = Arq1.read()
   
   print('\n ------------- -----  -----   ----    ----    ---      --      -      by psybox')
   print('\n')
   print(lista)
   
   Arq1.close()
   nome = raw_input('\n** Para continuar pressione [ENTER]...')
   Menu()
         
#____DELETAR____#
# Defino a funcao 'deletar()'
# com a tarefa de remover
# arquivos de contatos
# cadastrados previamente
# atraves da funcao 'cadastrar()'
# ou ate mesmo arquivos texto
# que se encontrem no diretorio de
# dados determinado.

def deletar():
   nome = ''
   
   print('\n ------------- -----  -----   ----    ----    ---      --      -      by psybox')
   print('\n')
   nome = raw_input("Qual contato voce deseja deletar ?: ")
   try:
      os.remove(Dir_dados+nome)
   except:
      print("\n** Erro ao deletar contato! Nao existente!")
      deletar()
   print('\n** Contato apagado!')
   time.sleep(1.5)
   Menu()
      
#____MENU____#

def Menu():
   os.system('clear')
   menu = ''
   
   print('\n ------------- -----  -----   ----    ----    ---      --      -      by psybox')
   print('\n')
   print('\n*o* Agenda PASPY beta *o*')
   print('\n')
   print('* (C)adastrar contato')
   print('* (Co)onsultar contato')
   print('* (L)istar contatos')
   print('* (D)eletar contato')
   
   menu = raw_input('* (S)air: ').lower()
   
   if (menu == 'c'):
      cadastrar()
   elif (menu == 'co'):
      consultar()
   elif (menu == 'l'):
      listar()
   elif (menu == 'd'):
      deletar()
   elif (menu == 's'):
      os.system('clear')
      exit
   else:
      print('\n** Digite algo valido!')
      time.sleep(1.5)
      Menu()
os.system('clear')
Menu()

Scripts recomendados

Gerando PDF de imagens

Agenda de compromissos

Leitor de arquivo

Agenda de cadastros com tratamento de erros

Agenda de Contatos


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário