Trees | Indices | Help |
|
---|
|
1 # -*- coding: iso-8859-1 -*- 2 # Copyright 20003 - 2008: Julien Bourdaillet (julien.bourdaillet@lip6.fr), Jean-Gabriel Ganascia (jean-gabriel.ganascia@lip6.fr) 3 # This file is part of MEDITE. 4 # 5 # MEDITE is free software; you can redistribute it and/or modify 6 # it under the terms of the GNU General Public License as published by 7 # the Free Software Foundation; either version 2 of the License, or 8 # (at your option) any later version. 9 # 10 # MEDITE is distributed in the hope that it will be useful, 11 # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 # GNU General Public License for more details. 14 # 15 # You should have received a copy of the GNU General Public License 16 # along with Foobar; if not, write to the Free Software 17 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 #---------------------------------------------------------------------------- 19 # Nom: auteur.py 20 # Objet: Classe qui regroupe les donnees d'un auteur 21 #---------------------------------------------------------------------------- 22 23 from oeuvre import * 24 from Utile.exceptionsDonnees import * 25 2628 # Constucteur de la classe10830 self.__nom = pNom 31 self.__prenom = pPrenom 32 self.__naissance = pNais 33 self.__deces = pDeces 34 self.__listeOeuvres = pOeuvres35 36 # Methodes d'acces aux attributs prives 39 42 45 48 51 52 # Methode qui renvoie la liste des titres54 listeO = [] 55 for oeuvre in self.__listeOeuvres : 56 listeO.append(oeuvre.getTitre()) 57 return listeO58 59 # Methode qui renvoie la liste des dossiers genetique61 listeD = [] 62 for oeuvre in self.__listeOeuvres : 63 listeD.append(oeuvre.getNomDG()) 64 return listeD65 66 # Methode qui renvoie vrai si l'oeuvre dont le titre est passee en parametre 67 # est une des oeuvres de l'auteur69 for oeuvre in self.__listeOeuvres: 70 if oeuvre.getTitre() == pTitre : 71 return 1 ## VRAI 72 return 0 ## FALSE73 74 # Methode qui retourne l'oeuvre dont le titre est passee en parametre 75 # Une exception est lancee si ce n'est pas une oeuvre de l'auteur77 for oeuvre in self.__listeOeuvres: 78 if oeuvre.getTitre() == pTitre: 79 return oeuvre 80 # l'oeuvre n'a pas ete trouvee, lancement d'une exception 81 raise OeuvreNonTrouvee('l\'oeuvre "'+pTitre+'" de "'+self.getNom()+'" n\'as pas ete trouvee')82 83 # Methode pour ajouter une oeuvre a la liste des oeuvres de l'auteur 84 # Une exception est lancee si l'oeuvre a deja ete enregistree86 try : 87 # l'oeuvre existe deja dans la liste, lancement d'une exception 88 oeuvre = self.getOeuvreByTitre(pOeuvre.getTitre()) 89 raise OeuvreDejaExistante('l\'oeuvre "'+pOeuvre.getTitre()+'" est deja existante',oeuvre) 90 except OeuvreNonTrouvee : 91 self.__listeOeuvres.append(pOeuvre)92 93 # Methode pour supprimer une oeuvre de la liste des oeuvres de l'auteur 94 # Cette methode attrappe l'exception OeuvreNonTrouvee, dans ce cas elle n'effectue rien96 try : 97 oeuvre = self.getOeuvreByTitre(pTitre) 98 self.__listeOeuvres.remove(oeuvre) 99 except OeuvreNonTrouvee : 100 return101 102 # Methode de mise a jour des attributs d'un auteur 103 # Seuls les attributs prenom, naissance et deces sont modifiables
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0beta1 on Wed Aug 13 15:25:41 2008 | http://epydoc.sourceforge.net |