示例#1
0
def theme(rep):
    """ Fonction qui premet de faire réagir le menu Theme
		
		@rep : str = l'évènement
		
		@reutrn : None
		
		@throw :
			LeProgrammeurEstCon
			persistance.FichierInvalide
			persistance.CleInvalide
			
	"""
    if get_etat() != "Theme":
        raise LeProgrammeurEstCon

    if rep == "list":
        afficher_liste("Themes", themes.parcourir_themes_opts("@self", "description"))
    elif rep == "valider":
        afficher("Theme modifié ... ")
        set_etat("Menu")
    elif rep == "actuel":
        # Ce code peut planter ... mais on ne récupère pas l'exception
        # si cela plante ... il faut que ça remonte, l'erreur est trop
        # grave ...
        afficher("Le theme actuel est le numero {0}".format(themes.actuel))
    else:
        # TODO: changer cet enchainement de fonctions
        try:

            themes.choix_theme(int(rep))  # un truc qui peut facilement planter a cause du int
            afficher("Selection theme : " + rep)
            primitives.raz()
            path = "Images/Theme" + rep + "/fond.gif"
            primitives.bgpic(path)
            set_ecran("fond")
        except ValueError:
            afficher("Il faut entrer le numéro du thème ...")
        except persistance.CleInvalide:
            afficher("Euh ... ce thème ne peut être chargé ...")
        except persistance.FichierInvalide:
            afficher("Priez pauvres fous, le fichier de configuration est introuvable !")