7 .. image:: images/bd.png
11 Organisation des sources
12 ------------------------
14 Les sources sont organisées ainsi :
16 * La directory MaquetteMailleur contient les pythons nécessaires au passage des tests :
25 a priori, seuls les scripts passeJobs.py et compareVersions ne devront être passés à chaque version
27 * Elle contient aussi la base de données (lorsque celle-ci a été créée)
29 * Sous MaquetteMailleur, la directory Doc contient les fichiers nécessaires à l'élaboration de la doc.
30 * Sous MaquetteMailleur, la directory Scripts contient les fichiers nécessaires à l'éléboration des maillages et référencés dans la database.
31 * Sous MaquetteMailleur, la directory Gui contient les fichiers nécessaires à la partie graphique, y compris les .ui à partir desquels il faut générer les .py
32 * Sous MaquetteMailleur, la directory CreeDocuments contient les fichiers nécessaires à la création du rapport html. les patrons sont contenus dans TemplatesHtm
35 La directory Base plus en détail
36 --------------------------------
38 * dataBase.py : definition de la class Base
39 La méthode Structure (jamais appelée) rappelle la commande sqlite3 pour voir de façon interactive la structure de la base (sqlite3 madabase.db)
42 - une classe générique contenue dans tableDeBase
43 - un fichier .py par table : tableGroupesRef.py, tableMaillages.py, tableMailleurs.py, tableRatios.py, tableVersions.py, tableGroupes.py, tableMachines.py, tableMailles.py, tablePerfs.py, tableTailles.py. toutes les tables heritent de tableDeBase
44 - la methode "remplit" remplit le jeu de test et doit être modifiée (en particulier pour la définition de la version de reference)
47 * création éventuelle d'une nouvelle table il faut :
48 - creer un fichier tableNouvelle.py
49 - dans l'init appeler l init de TableDeBase avec le nom de la table en parametre
50 et initialiser le nom des colonnes avec la methode setFields
51 - creer une methode createSqlTable pour creer la table
53 .. code-block:: python
55 class TableMachines (TableDeBase):
57 TableDeBase.__init__(self,"Machines")
58 self.setField(("id","nomMachine","Os"))
60 def createSqlTable(self):
61 query=QtSql.QSqlQuery()
62 print "creation de TableMachine"
63 print query.exec_("create table Machines(id int primary key, nomMachine varchar(10), os varchar(10));")
67 - pour pouvoir éditer la nouvelle table il faut :
68 - ajouter un bouton par designer dans desFenetreChoix.ui
69 - creer un signal dans maFenetreChoix.py qui appelle une methode qui
72 .. code-block:: python
75 editor=TableEditor(self.db.maTable,self)