Home | Trees | Indices | Help |
---|
|
1 # -*- coding: UTF-8 -*- 2 ########################################################################### 3 # Eole NG - 2007 4 # Copyright Pole de Competence Eole (Ministere Education - Academie Dijon) 5 # Licence CeCill cf /root/LicenceEole.txt 6 # eole@ac-dijon.fr 7 # 8 # rapport.py 9 # 10 # Interface d'écriture de rapport pour Zephir 11 # 12 ########################################################################### 13 import random,os 14 from zephir.rapports import connecteur, rml 15 from zephir import config 1618203 204 if __name__ == "__main__": 205 """ 206 Si le module est exécuté tel quel, 207 un rappport générique est créé dans le répertoire temporaire 208 """ 209 r = Rapport() 210 r.rapport_global() 211 # print r.pdf("modules") 212 # r.pdf("variante_module",1) 213 # r.pdf("detail_etabs") 214 # print r.pdf("detail_etab","'0210056X'") 21520 self.PATH = config.PATH_TEMP 21 if not os.path.isdir(config.PATH_TEMP): 22 os.makedirs(config.PATH_TEMP) 23 self.connect = connecteur.Connecteur(server,rne_rapport) 24 self.rml = rml.RML()2527 """ 28 Rapport concernant le zephir dans son ensemble 29 """ 30 xml = self.modules() + self.rml.page_break() 31 xml += self.variantes() + self.rml.page_break() 32 xml += self.liste_etabs() + self.rml.page_break() 33 xml += self.detail_etabs() + self.rml.page_break() 34 pdf_string = self.rml.page("Rapport global",xml) 35 pdf = self.rml.dump_pdf(pdf_string) 36 filename = os.path.join(self.PATH,"rapport.pdf") 37 fh = open(filename,'w') 38 fh.write(pdf) 39 fh.close()40 4143 """Serialisation de la chaine pdf 44 dans un fichier au nom aléatoire 45 """ 46 filename = os.path.join(self.PATH, str(random.random()) + ".pdf") 47 48 fh = open(filename,'w') 49 fh.write(pdf_string) 50 fh.close() 51 52 return filename5355 """Liste des modules 56 """ 57 module = self.connect.module() 58 table = self.rml.list_to_table(module) 59 60 xml = self.rml.sect("Liste des modules disponibles", table ) 61 62 return xml6365 """ 66 """ 67 # récupération du nom du module 68 title = "Variantes du module : %s" % self.connect.nom_module(id_module) 69 70 # récupération des variantes 71 variante = self.connect._dict_variante(id_module) 72 xml = "" 73 for id_variante in variante.keys(): 74 xml = self.rml.list_to_table(self.connect.get_variante(id_variante)) 75 rml_string = self.rml.sect(title, xml) 76 return rml_string7779 title = "Liste des variantes" 80 xml = "" 81 for id_module in self.connect.dict_module().keys(): 82 xml += self.variante_module(id_module) 83 return xml84 8587 # on ignore les établissements n'ayant pas de serveurs 88 serveurs= self.connect.id_serveur_etab(id_etab) 89 if serveurs == []: 90 serveurs = "" 91 else: 92 serveurs= self._liste_serveurs_etab(id_etab) 93 title = "Détails de l'établissement %s" % self.connect.nom_etab(id_etab) 94 etab = self.connect.get_etab(id_etab) 95 xml = self.rml.dict_to_list(etab) 96 rml_string = self.rml.sect(title, xml) 97 return rml_string + serveurs98100 title = "Liste des établissements" 101 list_etab = self.connect.noms_etab() 102 xml = self.rml.list_to_list(list_etab) 103 rml_string = self.rml.sect(title, xml) 104 return rml_string105107 title = "Détail des établissements ayant des serveurs" 108 xml = "" 109 for id_etab in self.connect.id_etab(): 110 serveurs= self.connect.id_serveur_etab(id_etab) 111 # on ignore les établissements n'ayant pas de serveurs 112 if serveurs != []: 113 xml += self.detail_etab(id_etab) 114 xml += self.rml.page_break() 115 rml_string = self.rml.sect(title, xml) 116 return rml_string117119 """Liste simple des serveurs d'un etab 120 """ 121 title="Liste des serveurs de l'établissement : %s" % self.connect.nom_etab(id_etab) 122 123 list_serveur = self.connect.libelle_serveur_etab(id_etab) 124 xml = self.rml.list_to_list(list_serveur) 125 126 return self.rml.sect(title, xml)127129 """liste détaillée des serveurs d'un etab 130 """ 131 title="Liste détaillées des serveurs de l'établissement : %s" % self.connect.nom_etab(id_etab) 132 list_serv = self.connect.id_serveur_etab(id_etab) 133 134 rml_string="" 135 for id_serveur in list_serv: 136 rml_string += self.serveur(id_serveur) 137 138 return self.rml.sect(title, rml_string)139141 """Description détaillée d'un serveur 142 """ 143 title = "Description du serveur : %s" % self.connect.nom_serveur(id_serveur) 144 serveur = self.connect.get_serveur(id_serveur) 145 146 # rml = self.rml.dict_to_list(serveur) 147 148 dict_materiel = { 149 'materiel': serveur['materiel'], 150 'processeur': serveur['processeur'], 151 'disque_dur': serveur['disque_dur'] 152 } 153 154 materiel = """<para> 155 <i>materiel</i> : %(materiel)s , 156 <i>processeur</i> : %(processeur)s, 157 <i>disque dur</i> : %(disque_dur)s 158 </para> 159 """ % dict_materiel 160 161 dict_module = { 162 'module_actuel': serveur['module_actuel'], 163 'module_initial' : serveur['module_initial'], 164 'variante':serveur['variante'] 165 } 166 167 module = """<para> 168 <i>module initial </i> : %(module_initial)s, 169 <i>module actuel installé </i> : %(module_actuel)s, 170 <i>variante du module installé </i> : %(variante)s 171 </para> 172 """ % dict_module 173 174 dict_description = { 175 'installateur': serveur['installateur'], 176 'tel': serveur['tel'], 177 'remarques' : serveur['remarques'], 178 'date_install': serveur['date_install'], 179 'rne': serveur['rne'] 180 } 181 182 description = """<para> 183 <i>installateur</i> : %(installateur)s, 184 <i>rne établissement</i> : %(rne)s, 185 <i>contact téléphonique</i> : %(tel)s, 186 <i>date d'installation</i> : %(date_install)s, 187 <i>remarques</i> : %(remarques)s 188 </para> 189 """ % dict_description 190 191 list = [description, materiel, module] 192 xml = "".join(list) 193 194 return self.rml.sect(title, xml)195
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Thu Jan 23 17:05:22 2014 | http://epydoc.sourceforge.net |