#!/usr/bin/python
#-*- coding: utf-8 -*-

import sys
import os
fichier = 'fichier_donnee.txt'

def lire_le_fichier():
	try:
		notre_fichier = open(fichier,"r")
	except IOError:
		print "Erreur sur le fichier"
		return
	dico={}
	ligne = notre_fichier.readline()
	while ligne:
		donnees = ligne[:-1]
		donnees_split = donnees.split('*')
		dico[donnees_split[0]]= str(donnees_split[1])
		ligne = notre_fichier.readline()
    
	notre_fichier.close()
	return dico

def ecrire_le_fichier(dico):
	notre_fichier = open(fichier,"w")
	for nom in dico.keys():
		notre_fichier.write(str(nom)+"*"+str(dico[nom])+"\n")
	notre_fichier.close()

def affiche_numero(qui):
	if qui == 'tout':
		for nom in ma_liste_tel.keys():
			print str(nom)+" - "+str(ma_liste_tel[nom])+"\n"
	else:
		try:
			print 'Le numéro de ' + qui + ' est ' + str(ma_liste_tel[qui] + '\n')
		except:
			print 'Je ne trouve pas cette personne!'

def efface_numero(qui):
	global ma_liste_tel
	try:
		del ma_liste_tel[qui]
		print qui+' a été supprimé'
	except:
		print 'Je ne trouve pas cette personne!'
	ecrire_le_fichier(ma_liste_tel)

def ajoute_numero(qui, tel):
	global ma_liste_tel
	ma_liste_tel[qui] = tel
	print qui+' a été ajouté'
	ecrire_le_fichier(ma_liste_tel)

if __name__ == "__main__":
	os.system('clear')
	if os.path.isfile(fichier) == False :
		openfile=open(fichier,'w')
		openfile.close()	
		
	ma_liste_tel = lire_le_fichier()
	
	while True:
		question = raw_input('Que voulez vous faire ? \nOptions : ajouter*nom*tel - effacer nom - afficher nom - sortir\n> ')

		if question == 'sortir':
			sys.exit()

		elif question.startswith('afficher'):
			try:
				aff_nom = question.split(' ')
				nom = affiche_numero(aff_nom[1])
			except:
				print 'Merci de fournir un nom !'

		elif question.startswith('effacer'):
			try:
				aff_nom = question.split(' ')
				nom = efface_numero(aff_nom[1])
			except:
				print 'Merci de fournir un nom !'

		elif question.startswith('ajouter'):
			try:
				aff_nom = question.split('*')
				ajoute_numero(aff_nom[1], aff_nom[2])	
			except:
				print 'merci de respecter le format : ajouter nom tel'

		else:
			print 'Bravo ! une forte tête ! j\'aime ça ! Ce n\' est pas une option valable'

