Package medite :: Package Controleurs :: Module cDonnees
[hide private]
[frames] | no frames]

Source Code for Module medite.Controleurs.cDonnees

  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  from Utile.constantesDonnees import * 
 20  from Donnees.donnees import * 
 21  from Controleurs.cInformations import * 
 22  from Controleurs.cDossierGenetique import * 
 23  from Donnees.auteur import * 
 24  from Donnees.oeuvre import * 
 25  from Donnees.arbre import * 
 26  import os, posixpath 
 27   
 28  # C'est la classe de type 'Controleur' qui fait le lien entre les donnees et l'interface 
29 -class CDonnees :
30 # Constructeur de la classe
31 - def __init__(self):
32 self.__don = Donnees() 33 if not posixpath.exists(LEURREP) : 34 os.mkdir(LEURREP)
35 36 # Methode qui renvoie la liste des noms des auteurs de la base
37 - def getListeNomsAuteurs(self):
38 ## print 'dans Cdonnees.getlisteNomsAuteurs' 39 return self.__don.getListeNomsAuteurs()
40 41 # Methode qui renvoie la liste des titres d'un auteur
42 - def getListeTitresByAuteur(self, pNom):
43 ## print 'dans Cdonnees.getlisteTitresByAuteurs' 44 return self.__don.getListeTitresByAuteur(pNom)
45 46 # Methode qui ajoute un auteur
47 - def addAuteur(self, pNom, pPrenom,pNais, pDeces):
48 ## print 'dans Cdonnees.addAuteur' 49 auteur = Auteur(pNom,pPrenom,pNais,pDeces) 50 self.__don.addAuteur(auteur) 51 # creation du dossier de l'auteur 52 rep = os.path.join(LEURREP,pNom) 53 if not os.path.exists(rep): 54 os.mkdir(rep)
55 56 # Methode qui met a jour les donnees d'un auteur 57 # Nous ne pouvons pas modifier le nom de l'auteur
58 - def updateAuteur(self, pNom, pPrenom, pNais, pDeces):
59 ## print 'dans Cdonnees.updateAuteur' 60 # mise a jour au niveau des donnees enregistrees 61 auteur = Auteur(pNom,pPrenom,pNais,pDeces) 62 self.__don.updateAuteur(auteur) 63 # mise a jour des fichiers xml lies a l'auteur 64 cInfo = CInformations() 65 cInfo.majAuteurFInfos(pNom)
66 67 # Methode qui supprime un auteur
68 - def deleteAuteur(self, pNom):
69 ## print 'dans Cdonnees.deleteAuteur' 70 # mise a jour au niveau des donnees enregistrees 71 self.__don.deleteAuteur(pNom) 72 # suppression du dossier de l'auteur et tout ce qu'il contient 73 cDos = CDossierGenetique() 74 cDos.supprimerDossierAuteur(pNom)
75 76 # Methode qui ajoute une oeuvre a un auteur
77 - def addOeuvre(self, pNom, pTitre, pEdition, pPublication):
78 ## print 'dans Cdonnees.addOeuvre' 79 nomDG = self.__creerNomDG(pTitre) 80 oeuvre = Oeuvre(pTitre, pEdition, pPublication, nomDG) 81 #arbre = Arbre() 82 #oeuvre.addArbre(arbre) 83 self.__don.addOeuvre(pNom, oeuvre) 84 85 # creation du dossier genetique 86 rep = os.path.join(LEURREP, pNom, nomDG) 87 if not os.path.exists(rep): 88 os.mkdir(rep) 89 # creation du fichier 'informations.xml' 90 cInfo = CInformations() 91 cInfo.creerFichierInformations(pNom, pTitre)
92 93 94 # Methode privee qui creer le nom du dossier genetique a partir du titre de l'oeuvre 95 # la methode enleve les espaces et garde au maximum 30 caracteres
96 - def __creerNomDG(self, pTitre):
97 i = 0 98 nomDG = '' 99 for c in pTitre : 100 if (i<30) & (c!= ' ') : 101 nomDG +=c 102 i+=1 103 return nomDG
104 105 # Methode qui met a jour les donnees d'une oeuvre 106 # Nous ne pouvons pas modifier le titre ou le nom du dossier genetique
107 - def updateOeuvre(self, pNom, pTitre, pEdition, pPublication):
108 ## print 'dans Cdonnees.updateOeuvre' 109 oeuvre = Oeuvre(pTitre, pEdition, pPublication,'') 110 self.__don.updateOeuvre(pNom, oeuvre) 111 # mise a jour des fichiers xml lies a l'oeuvre 112 cInfo = CInformations() 113 cInfo.majOeuvreFInfos(pNom, pTitre)
114 115 # Methode qui supprimme une oeuvre
116 - def deleteOeuvre(self, pNom, pTitre):
117 ## print 'dans Cdonnees.deleteOeuvre' 118 nomDG = self.__don.getNomDG(pNom, pTitre) 119 self.__don.deleteOeuvre(pNom, pTitre) 120 # suppression du dossier genetique et tout ce qu'il contient 121 cDos = CDossierGenetique() 122 cDos.supprimerDossierOeuvre(pNom, nomDG)
123