Agenda PasPy

Publicado por Alexandre 02/06/2005

[ Hits: 5.887 ]

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: psy.box@phreaker.net                                      |
# -------------------------------------------------------------------

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

ccl - cut and change lines

Alterar LED do teclado

Exmaill - Extrator de Emails

hicon - Criador de ícones desktop e aplicações do Gnome

Le um arquivo e exibe na tela


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts