1 # -*- coding: utf-8 -*-
2 # CONFIGURATION MANAGEMENT OF EDF VERSION
3 # ======================================================================
4 # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
5 # THIS PROGRAM 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.
10 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
16 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20 # ======================================================================
22 Ce module contient le plugin generateur de fichier au format
27 import types,string,re
29 from Noyau import N_CR
30 from Noyau.N_utils import repr_float
31 from Accas import ETAPE,PROC_ETAPE,MACRO_ETAPE,ETAPE_NIVEAU,JDC,FORM_ETAPE
32 from Accas import MCSIMP,MCFACT,MCBLOC,MCList,EVAL
33 from Accas import GEOM,ASSD,MCNUPLET
34 from Accas import COMMENTAIRE,PARAMETRE, PARAMETRE_EVAL,COMMANDE_COMM
35 from Formatage import Formatage
37 import generator_python
41 Retourne les informations nécessaires pour le chargeur de plugins
43 Ces informations sont retournées dans un dictionnaire
48 # La factory pour créer une instance du plugin
49 'factory' : PythonGenerator,
53 class PythonGenerator(generator_python.PythonGenerator):
55 Ce generateur parcourt un objet de type JDC et produit
56 un fichier au format python6
58 L'acquisition et le parcours sont réalisés par la méthode
59 generator.gener(objet_jdc,format)
61 L'écriture du fichier au format python6 par appel de la méthode
62 generator.writefile(nom_fichier)
64 Ses caractéristiques principales sont exposées dans des attributs
66 - extensions : qui donne une liste d'extensions de fichier préconisées
69 # Les extensions de fichier préconisées
72 def generFORM_ETAPE(self,obj):
74 Méthode particulière pour les objets de type FORMULE
78 if nom == '' : nom = 'sansnom'
79 l.append(nom + ' = FORMULE(')
80 for v in obj.mc_liste:
81 text=self.generator(v)
82 l.append(v.nom+'='+text)
86 def gen_formule(self,obj):
88 Méthode particuliere aux objets de type FORMULE
94 sdname= self.generator(obj.sd)
98 label=sdname + ' = FORMULE('
100 for v in obj.mc_liste:
102 s= v.nom+':'+sdname+'('+v.valeur+')'