def viewDoc(self):
self.node=self.tree.currentItem()
cle_doc = self.node.item.get_docu()
- print self.node.item.get_docu
if cle_doc == None :
QMessageBox.information( self.editor, "Documentation Vide", \
"Aucune documentation Aster n'est associée à ce noeud")
return
- #cle_doc = string.replace(cle_doc,'.','')
- #cle_doc = string.replace(cle_doc,'-','')
- #print dir(self)
commande = self.editor.appliEficas.CONFIGURATION.exec_acrobat
try :
f=open(commande,"rb")
# Choix des catalogues
catalogues = (
CatalogDescription(identifier = "OPENTURNS_WRAPPER_V4",
- cata_file_path = os.path.join(os.getcwd(), 'OpenTURNS_Cata_Wrapper_V4.py'),
+ cata_file_path=os.path.join(os.path.abspath(os.path.dirname(fic_ini)),'OpenTURNS_Cata_Wrapper_V4.py'),
file_format = "openturns_wrapper"),
)
#
# ======================================================================
code = "OPENTURNS_WRAPPER"
+import sys, os
+if os.path.dirname(os.path.abspath(__file__)) not in sys.path :
+ sys.path.insert(0,os.path.dirname(os.path.abspath(__file__)))
# INSTALLDIR sert à localiser l'installation d'Eficas
INSTALLDIR=os.path.join(repIni,'..')
+sys.path.insert(0,INSTALLDIR)
# Codage des strings qui accepte les accents (en remplacement de 'ascii')
# Choix des catalogues
if len(OpenTURNS_path) > 0:
sys.path[:0]=[OpenTURNS_path]
-sys.path[:0]=[INSTALLDIR]
initialdir=repIni
# INSTALLDIR sert à localiser l'installation d'Eficas
-INSTALLDIR=os.path.join(repIni,'..')
-
+INSTALLDIR=os.path.abspath(os.path.join(repIni,'..'))
+sys.path.insert(0,INSTALLDIR)
# Codage des strings qui accepte les accents (en remplacement de 'ascii')
# lang indique la langue utilisée pour les chaines d'aide : fr ou ang
# Choix des catalogues
if len(OpenTURNS_path) > 0:
sys.path[:0]=[OpenTURNS_path]
-sys.path[:0]=[INSTALLDIR]
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
+<ui version="4.0" >
<class>ChoixCode</class>
- <widget class="QWidget" name="ChoixCode">
- <property name="geometry">
+ <widget class="QWidget" name="ChoixCode" >
+ <property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<height>442</height>
</rect>
</property>
- <property name="windowTitle">
+ <property name="windowTitle" >
<string>Choix du code</string>
</property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0" colspan="2">
- <layout class="QHBoxLayout" name="horizontalLayout">
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" colspan="2" >
+ <layout class="QHBoxLayout" name="horizontalLayout" >
<item>
- <widget class="QLabel" name="label_choix">
- <property name="minimumSize">
+ <widget class="QLabel" name="label_choix" >
+ <property name="minimumSize" >
<size>
<width>0</width>
<height>30</height>
</size>
</property>
- <property name="text">
+ <property name="text" >
<string>Veuillez choisir un code :</string>
</property>
</widget>
</item>
<item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
+ <spacer name="horizontalSpacer" >
+ <property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
- <property name="sizeHint" stdset="0">
+ <property name="sizeHint" stdset="0" >
<size>
<width>40</width>
<height>20</height>
</item>
</layout>
</item>
- <item row="1" column="1">
- <spacer name="verticalSpacer_2">
- <property name="orientation">
+ <item row="1" column="1" >
+ <spacer name="verticalSpacer_2" >
+ <property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeType">
+ <property name="sizeType" >
<enum>QSizePolicy::Preferred</enum>
</property>
- <property name="sizeHint" stdset="0">
+ <property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>70</height>
</property>
</spacer>
</item>
- <item row="2" column="0" colspan="2">
- <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item row="2" column="0" colspan="2" >
+ <layout class="QHBoxLayout" name="horizontalLayout_3" >
<item>
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
+ <spacer name="horizontalSpacer_3" >
+ <property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
- <property name="sizeType">
+ <property name="sizeType" >
<enum>QSizePolicy::Preferred</enum>
</property>
- <property name="sizeHint" stdset="0">
+ <property name="sizeHint" stdset="0" >
<size>
<width>40</width>
<height>20</height>
</spacer>
</item>
<item>
- <widget class="QWidget" name="widget" native="true">
- <layout class="QVBoxLayout" name="verticalLayout">
+ <widget class="QWidget" native="1" name="widget" >
+ <layout class="QVBoxLayout" name="verticalLayout" >
<item>
- <widget class="QRadioButton" name="rB_aster">
- <property name="minimumSize">
+ <widget class="QRadioButton" name="rB_Aster" >
+ <property name="minimumSize" >
<size>
<width>0</width>
<height>30</height>
</size>
</property>
- <property name="text">
+ <property name="text" >
<string>Aster</string>
</property>
+ <property name="checked" >
+ <bool>true</bool>
+ </property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="rB_cuve2dg">
- <property name="minimumSize">
+ <widget class="QRadioButton" name="rB_Cuve2dg" >
+ <property name="minimumSize" >
<size>
<width>0</width>
<height>30</height>
</size>
</property>
- <property name="text">
- <string>Cuve2DG</string>
+ <property name="text" >
+ <string>Cuve2dg</string>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="rB_map">
- <property name="minimumSize">
+ <widget class="QRadioButton" name="rB_MAP" >
+ <property name="minimumSize" >
<size>
<width>0</width>
<height>30</height>
</size>
</property>
- <property name="text">
+ <property name="text" >
<string>MAP</string>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="rB_otstudy">
- <property name="minimumSize">
+ <widget class="QRadioButton" name="rB_Openturns_Study" >
+ <property name="minimumSize" >
<size>
<width>0</width>
<height>30</height>
</size>
</property>
- <property name="text">
- <string>OpenTurns Study</string>
+ <property name="text" >
+ <string>Openturns_Study</string>
</property>
</widget>
</item>
<item>
- <widget class="QRadioButton" name="rB_otwrapper">
- <property name="minimumSize">
+ <widget class="QRadioButton" name="rB_Openturns_Wrapper" >
+ <property name="minimumSize" >
<size>
<width>0</width>
<height>30</height>
</size>
</property>
- <property name="text">
- <string>OpenTurns Wrapper</string>
+ <property name="text" >
+ <string>Openturns_Wrapper</string>
</property>
</widget>
</item>
</widget>
</item>
<item>
- <spacer name="horizontalSpacer_4">
- <property name="orientation">
+ <spacer name="horizontalSpacer_4" >
+ <property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
- <property name="sizeHint" stdset="0">
+ <property name="sizeHint" stdset="0" >
<size>
<width>40</width>
<height>20</height>
</item>
</layout>
</item>
- <item row="3" column="0">
- <spacer name="verticalSpacer">
- <property name="orientation">
+ <item row="3" column="0" >
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" stdset="0">
+ <property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>86</height>
</property>
</spacer>
</item>
- <item row="4" column="0" colspan="2">
- <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item row="4" column="0" colspan="2" >
+ <layout class="QHBoxLayout" name="horizontalLayout_2" >
<item>
- <widget class="QPushButton" name="pB_OK">
- <property name="minimumSize">
+ <widget class="QPushButton" name="pB_OK" >
+ <property name="minimumSize" >
<size>
<width>80</width>
<height>30</height>
</size>
</property>
- <property name="text">
+ <property name="text" >
<string>OK</string>
</property>
</widget>
</item>
<item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
+ <spacer name="horizontalSpacer_2" >
+ <property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
- <property name="sizeHint" stdset="0">
+ <property name="sizeHint" stdset="0" >
<size>
<width>40</width>
<height>20</height>
</spacer>
</item>
<item>
- <widget class="QPushButton" name="pB_cancel">
- <property name="minimumSize">
+ <widget class="QPushButton" name="pB_cancel" >
+ <property name="minimumSize" >
<size>
<width>80</width>
<height>30</height>
</size>
</property>
- <property name="text">
+ <property name="text" >
<string>Cancel</string>
</property>
</widget>
-#@ MODIF V_MCCOMPO Validation DATE 07/09/2009 AUTEUR COURTOIS M.COURTOIS
+#@ MODIF V_MCCOMPO Validation DATE 30/08/2011 AUTEUR COURTOIS M.COURTOIS
# -*- coding: iso-8859-1 -*-
# RESPONSABLE COURTOIS M.COURTOIS
# CONFIGURATION MANAGEMENT OF EDF VERSION
# ======================================================================
-# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
-# (AT YOUR OPTION) ANY LATER VERSION.
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
#
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
#
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
-# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
-#
-#
# ======================================================================
class MCCOMPO:
"""
- L'attribut mc_liste a été créé par une classe dérivée de la
+ L'attribut mc_liste a été créé par une classe dérivée de la
classe MCCOMPO du Noyau
"""
self.parent.state = 'modified'
def report(self):
- """
- Génère le rapport de validation de self
+ """
+ Génère le rapport de validation de self
"""
self.cr=self.CR()
self.cr.debut = self.txt_nat+self.nom
return self.cr
def verif_regles(self):
- """
- A partir du dictionnaire des mots-clés présents, vérifie si les règles
+ """
+ A partir du dictionnaire des mots-clés présents, vérifie si les règles
de self sont valides ou non.
Retourne une string et un booléen :
- texte = la string contient le message d'erreur de la (les) règle(s) violée(s) ('' si aucune)
- - testglob = booléen 1 si toutes les règles OK, 0 sinon
+ - testglob = booléen 1 si toutes les règles OK, 0 sinon
"""
#dictionnaire=self.dict_mc_presents(restreint='oui')
dictionnaire=self.dict_mc_presents(restreint='non') # On verifie les regles avec les defauts affectés
- texte=''
+ texte='\n'
testglob = 1
for r in self.definition.regles:
erreurs,test=r.verif(dictionnaire)
return texte,testglob
def dict_mc_presents(self,restreint='non'):
- """
+ """
Retourne le dictionnaire {mocle : objet} construit à partir de self.mc_liste
Si restreint == 'non' : on ajoute tous les mots-clés simples du catalogue qui ont
une valeur par défaut
# ======================================================================
"""
- Ce module contient la classe mixin MCSIMP qui porte les méthodes
- nécessaires pour réaliser la validation d'un objet de type MCSIMP
- dérivé de OBJECT.
+ Ce module contient la classe mixin MCSIMP qui porte les methodes
+ necessaires pour realiser la validation d'un objet de type MCSIMP
+ derive de OBJECT.
Une classe mixin porte principalement des traitements et est
- utilisée par héritage multiple pour composer les traitements.
+ utilisee par heritage multiple pour composer les traitements.
"""
# Modules Python
import string,types
class MCSIMP:
"""
COMMENTAIRE CCAR:
- Cette classe est quasiment identique à la classe originale d'EFICAS
- a part quelques changements cosmétiques et des chagements pour la
- faire fonctionner de facon plus autonome par rapport à l'environnement
+ Cette classe est quasiment identique a la classe originale d'EFICAS
+ a part quelques changements cosmetiques et des chagements pour la
+ faire fonctionner de facon plus autonome par rapport a l'environnement
EFICAS
- A mon avis, il faudrait aller plus loin et réduire les dépendances
- amont au strict nécessaire.
+ A mon avis, il faudrait aller plus loin et reduire les dependances
+ amont au strict necessaire.
- - Est il indispensable de faire l'évaluation de la valeur dans le contexte
+ - Est il indispensable de faire l'evaluation de la valeur dans le contexte
du jdc dans cette classe.
- - Ne pourrait on pas doter les objets en présence des méthodes suffisantes
- pour éviter les tests un peu particuliers sur GEOM, PARAMETRE et autres. J'ai
- d'ailleurs modifié la classe pour éviter l'import de GEOM
+ - Ne pourrait on pas doter les objets en presence des methodes suffisantes
+ pour eviter les tests un peu particuliers sur GEOM, PARAMETRE et autres. J'ai
+ d'ailleurs modifie la classe pour eviter l'import de GEOM
"""
CR=N_CR.CR
def isvalid(self,cr='non'):
"""
- Cette méthode retourne un indicateur de validité de l'objet de type MCSIMP
+ Cette methode retourne un indicateur de validite de l'objet de type MCSIMP
- 0 si l'objet est invalide
- 1 si l'objet est valide
- Le paramètre cr permet de paramétrer le traitement. Si cr == 'oui'
- la méthode construit également un comte-rendu de validation
- dans self.cr qui doit avoir été créé préalablement.
+ Le parametre cr permet de parametrer le traitement. Si cr == 'oui'
+ la methode construit egalement un comte-rendu de validation
+ dans self.cr qui doit avoir ete cree prealablement.
"""
if self.state == 'unchanged':
return self.valid
# verification presence
if self.isoblig() and v == None :
if cr == 'oui' :
- self.cr.fatal(string.join(("Mot-clé : ",self.nom," obligatoire non valorisé")))
+ self.cr.fatal(string.join(("Mot-cle : ",self.nom," obligatoire non valorise")))
valid = 0
lval=listProto.adapt(v)
if lval is None:
valid=0
if cr == 'oui' :
- self.cr.fatal("None n'est pas une valeur autorisée")
+ self.cr.fatal("None n'est pas une valeur autorisee")
else:
# type,into ...
#typeProto=TypeProtocol("type",typ=self.definition.type)
intoProto=self.intoProto
cardProto=self.cardProto
if cr == 'oui' :
- #un cr est demandé : on collecte tous les types d'erreur
+ #un cr est demande : on collecte tous les types d'erreur
try:
for val in lval:
typeProto.adapt(val)
try:
self.definition.validators.convert(lval)
except ValError,e:
- self.cr.fatal(string.join(("Mot-clé",self.nom,"invalide :",str(e),"\nCritere de validite:",self.definition.validators.info())))
+ self.cr.fatal(string.join(("Mot-cle",self.nom,"invalide :",str(e),"\nCritere de validite:",self.definition.validators.info())))
valid=0
else:
#si pas de cr demande, on sort a la toute premiere erreur
return self.valid
def isoblig(self):
- """ indique si le mot-clé est obligatoire
+ """ indique si le mot-cle est obligatoire
"""
return self.definition.statut=='o'
def init_modif_up(self):
"""
- Propage l'état modifié au parent s'il existe et n'est l'objet
+ Propage l'etat modifie au parent s'il existe et n'est l'objet
lui-meme
"""
if self.parent and self.parent != self :
self.parent.state = 'modified'
def report(self):
- """ génère le rapport de validation de self """
+ """ genere le rapport de validation de self """
self.cr=self.CR()
- self.cr.debut = "Mot-clé simple : "+self.nom
- self.cr.fin = "Fin Mot-clé simple : "+self.nom
+ self.cr.debut = "Mot-cle simple : "+self.nom
+ self.cr.fin = "Fin Mot-cle simple : "+self.nom
self.state = 'modified'
try:
self.isvalid(cr='oui')
except AsException,e:
if CONTEXT.debug : traceback.print_exc()
- self.cr.fatal(string.join(("Mot-clé simple : ",self.nom,str(e))))
+ self.cr.fatal(string.join(("Mot-cle simple : ",self.nom,str(e))))
return self.cr
"SurfaceEchange_FluideStructure_mess" : "TRANSITOIRE",
}
- def gener(self,obj,format='brut'):
+ def gener(self,obj,format='brut',config=None):
self.text=''
self.textCuve=''
self.dico_mot={}