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 !")