import sys
import os
import re
-import md5
#-------------------------------------------------------------------------------
class TestFichierError(Exception):
On teste le nombre de réels présents, et, facultativement, la
somme de ces nombres et le texte du fichier.
"""
+ import md5
ier = 0
# La macro compte pour 1 dans la numerotation des commandes
self.set_icmd(1)
-# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002 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.
-#
-# 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.
-#
-#
-# ======================================================================
-"""
- Ce module sert pour charger les paramètres de configuration d'EFICAS
-"""
-# Modules Python
-print "dans Aster"
-import os, sys, string, types, re
-import traceback
-
-
-# Modules Eficas
-from Editeur import utils
-
-class CONFIGbase:
-
- #-----------------------------------
- def __init__(self,appli):
- #-----------------------------------
-
- # Classe de base permettant de lire, afficher
- # et sauvegarder les fichiers utilisateurs editeur.ini
- # et style.py
- # Classe Mere de : class CONFIG(CONFIGbase)
- # class CONFIGStyle(CONFIGbase):
- self.appli = appli
- self.salome = appli.salome
- self.dRepMat={}
- if self.appli:
- self.parent=appli.top
- else:
- self.parent=None
- self.rep_user = utils.get_rep_user()
- if not os.path.isdir(self.rep_user) : os.mkdir(self.rep_user)
- self.lecture_fichier_ini_standard()
- self.lecture_catalogues_standard()
- self.lecture_fichier_ini_utilisateur()
- self.init_liste_param()
-
-
- #--------------------------------------
- def lecture_fichier_ini_standard(self):
- #--------------------------------------
- # Verifie l'existence du fichier "standard"
- # appelle la lecture de ce fichier
- if not os.path.isfile(self.fic_ini):
- if self.appli.ihm=="TK" :
- from widgets import showerror
- showerror("Erreur","Pas de fichier de configuration" + self.fic_ini+"\n")
- print "Erreur à la lecture du fichier de configuration : %s" % self.fic_ini
- sys.exit(0)
- self.lecture_fichier(self.fic_ini)
-
- #-----------------------------
- def lecture_fichier(self,fic):
- #------------------------------
- # lit les paramètres du fichier eficas.ini ou style.py
- # les transforme en attribut de l 'objet
- # utilisation du dictionnaire local pour récuperer style
- txt = utils.read_file(fic)
- from styles import style
- d=locals()
- try:
- exec txt in d
- except:
- l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
- if self.appli.ihm=="TK" :
- from widgets import showerror
- showerror("Erreur","Une erreur s'est produite lors de la lecture du fichier : " + fic + "\n")
- print ("Erreur","Une erreur s'est produite lors de la lecture du fichier : " + fic + "\n")
- sys.exit()
-
- for k in d.keys() :
- if k in self.labels.keys() :
- setattr(self,k,d[k])
- # Glut horrible pour les repertoires materiau...
- elif k[0:9]=="rep_mat_v" :
- setattr(self,k,d[k])
-
- for k in d['style'].__dict__.keys() :
- setattr(self,k,d['style'].__dict__[k])
-
- if hasattr(self,"catalogues") :
- for ligne in self.catalogues :
- version=ligne[1]
- codeSansPoint=re.sub("\.","",version)
- chaine="rep_mat_"+codeSansPoint
- if hasattr(self,chaine):
- rep_mat=getattr(self,chaine)
- self.dRepMat[version]=str(rep_mat)
-
-
- #--------------------------------------
- def lecture_fichier_ini_utilisateur(self):
- #--------------------------------------
- # Surcharge les paramètres standards par les paramètres utilisateur s'ils existent
- self.fic_ini_utilisateur = os.path.join(self.rep_user,self.fichier)
- if not os.path.isfile(self.fic_ini_utilisateur):
- return
- self.lecture_fichier(self.fic_ini_utilisateur)
-
- #--------------------------------------
- def lecture_catalogues_standard(self):
- #--------------------------------------
- # repertoires Materiau
- if hasattr(self,"catalogues") :
- for ligne in self.catalogues :
- version=ligne[1]
- cata=ligne[2]
- self.dRepMat[version]=os.path.join(cata,'materiau')
-
- #--------------------------------------
- def affichage_fichier_ini(self):
- #--------------------------------------
- """
- Affichage des valeurs des paramètres relus par Eficas
- """
- import widgets
- result = widgets.Formulaire(self.parent,
- obj_pere = self,
- titre = self.titre,
- texte = self.texte_ini,
- items = self.l_param,
- mode='display',
- commande=('Modifier',self.commande))
- if result.resultat :
- #print 'on sauvegarde les nouveaux paramètres :',result.resultat
- self.save_param_ini(result.resultat)
-
- #--------------------------------------
- def save_param_ini(self,dico):
- #--------------------------------------
- # sauvegarde
- # les nouveaux paramètres dans le fichier de configuration utilisateur
- #
- f=open(self.fic_ini_utilisateur,'w+')
- for k,v in dico.items():
- if self.types[k] in ('mot2','mot3','mot4'):
- v1=v[1:-1]
- val=v1.split(",")
- p = "("
- listeval=""
- for valeur in val:
- listeval = listeval+ p + str(valeur)
- p=" , "
- listeval = listeval + ")"
- f.write(str(self.pref)+str(k) + '=' + str(listeval) + '\n')
- elif k == 'catalogues' :
- f.write(k + '\t=\t' + str(v) + '\n')
- else:
- f.write(str(self.pref)+str(k) + '\t=\t"' + str(v) + '"\n')
- f.close()
- self.lecture_fichier_ini_utilisateur()
-
- #-------------------------------------------
- def creation_fichier_ini_si_possible(self):
- #-------------------------------------------
- return self.creation_fichier_ini(mode='ignorer_annuler')
-
- #--------------------------------------------------------
- def creation_fichier_ini(self,mode='considerer_annuler'):
- #---------------------------------------------------------
- # Récupération des valeurs des paramétres requis pour la création du fichier
- # eficas.ini
- #
- import widgets
- items = self.l_param
- result = widgets.Formulaire(self.parent,
- obj_pere = self,
- titre = "Saisie des donnees indispensables a la configuration d'EFICAS",
- texte = self.texte,
- items = items,
- mode='query')
- if not result.resultat :
- if mode == 'considerer_annuler':
- test=0
- if self.appli.ihm=="TK" :
- from widgets import showerror,askretrycancel
- test = askretrycancel("Erreur","Données incorrectes !")
- if not test:
- # XXX On sort d'EFICAS, je suppose
- self.appli.exitEFICAS()
- else:
- self.creation_fichier_ini()
- else:
- return None
- else :
- self.save_param_ini(result.resultat)
- return result.resultat
-
- #--------------------------
- def init_liste_param (self):
- #--------------------------
- # construit self.l_param
- # a partir de self.labels et des attributs
- # de l objet (mis a jour lors de la lecture du fichier)
- # l_param est une liste de tuples où chaque tuple est de la forme :
- # (label,nature,nom_var,defaut)
-
- self.l_param=[]
- for k in self.labels.keys() :
- if hasattr(self,k) :
- if k in self.YesNo.keys():
- self.l_param.append((self.labels[k],self.types[k],k,self.__dict__[k],
- self.YesNo[k][0],self.YesNo[k][1]))
- else :
- self.l_param.append((self.labels[k],self.types[k],k,self.__dict__[k]))
- self.l_param = tuple(self.l_param)
-
-
-class CONFIG(CONFIGbase):
- def __init__(self,appli,repIni):
-
- self.dFichierEditeur={"ASTER" : "editeur.ini",
- "ASTER_SALOME" : "editeur_salome.ini"}
- self.texte = "EFICAS a besoin de certains renseignements pour se configurer\n"+\
- "Veuillez remplir TOUS les champs ci-dessous et appuyer sur 'Valider'\n"+\
- "Si vous annulez, EFICAS ne se lancera pas !!"
-
- self.salome=appli.salome
- self.code=appli.code
- clef=self.code
- if self.salome != 0 :
- clef = clef + "_SALOME"
- self.fichier=self.dFichierEditeur[clef]
- self.repIni = repIni
- self.rep_ini = repIni
- self.fic_ini = os.path.join(self.repIni,self.fichier)
- self.titre = 'Parametres necessaires a la configuration d\'EFICAS'
- self.texte_ini = "Voici les parametres que requiert Eficas"
- self.commande = self.creation_fichier_ini_si_possible
- self.labels={"savedir" : "Repertoire initial pour Open/Save des fichiers",
- "rep_travail" : "Repertoire de travail",
- "rep_mat" : "Repertoire materiaux",
- "path_doc" : "Chemin d'acces a la doc Aster",
- "exec_acrobat" : "Ligne de commande Acrobat Reader",
- "catalogues" : "Versions du code ",
- "isdeveloppeur" : "Niveau de message ",
- "path_cata_dev" : "Chemin d'acces aux catalogues developpeurs"}
-
-
- self.types ={"savedir":"rep", "rep_travail":"rep","rep_mat":"rep",
- "path_doc": "rep","exec_acrobat":"file","exec_acrobat":"file",
- "catalogues" :"cata","isdeveloppeur":"YesNo","path_cata_dev":"rep",
- "DTDDirectory":"rep"}
-
- self.YesNo={}
- self.YesNo['isdeveloppeur']=('Deboggage','Utilisation')
-
- # Valeurs par defaut
- self.rep_user = utils.get_rep_user()
- self.initialdir=self.rep_user
- self.savedir = os.environ['HOME']
- self.rep_travail=os.path.join(self.rep_user,'uaster','tmp_eficas')
- self.rep_mat=""
- self.path_doc=self.rep_user
- self.exec_acrobat=self.rep_user
- self.isdeveloppeur='NON'
- self.path_cata_dev=os.path.join(self.rep_user,'cata')
- CONFIGbase.__init__ (self,appli)
- self.pref=""
-
- #--------------------------------------
- def save_params(self):
- #--------------------------------------
- # sauvegarde
- # les nouveaux parametres dans le fichier de configuration utilisateur
- #
- l_param=('exec_acrobat', 'repIni','catalogues','rep_travail','rep_mat','path_doc','savedir')
- texte=""
- for clef in l_param :
- if hasattr(self,clef):
- valeur=getattr(self,clef)
- texte= texte + clef+" = " + repr(valeur) +"\n"
-
-
- # recuperation des repertoires materiaux
- try :
- for item in self.catalogues :
- try :
- (code,version,cata,format,defaut)=item
- except :
- (code,version,cata,format)=item
- codeSansPoint=re.sub("\.","",version)
- chaine="rep_mat_"+codeSansPoint
- if hasattr(self,chaine):
- valeur=getattr(self,chaine)
- texte= texte + chaine+" = '" + str(valeur) +"'\n"
- except :
- pass
-
- f=open(self.fic_ini_utilisateur,'w+')
- f.write(texte)
- f.close()
-
-
-class CONFIGStyle(CONFIGbase):
- def __init__(self,appli,repIni):
- self.salome=appli.salome
- self.texte = "Pour prendre en compte les modifications \n"+\
- " RELANCER EFICAS"
- self.fichier="style.py"
- self.repIni = repIni
- self.rep_ini = repIni
- self.fic_ini = os.path.join(self.repIni,self.fichier)
- self.titre = "Parametres d affichage"
- self.texte_ini = "Voici les parametres configurables : "
- self.commande = self.creation_fichier_ini_si_possible
- self.labels={"background":"couleur du fonds",
- "foreground":"couleur de la police standard" ,
- "standard":" police et taille standard",
- "standard_italique":"police utilisee pour l'arbre ",
- "standard_gras_souligne":"police utilisee pour le gras souligne",
- "canvas_italique":"police italique",
- "standard_gras":"gras",
- }
- self.types ={"background":"mot",
- "foreground":"mot" ,
- "standard":"mot2",
- "standard_italique":"mot3",
- "standard_gras":"mot3",
- "standard_gras_souligne":"mot4",
- "canvas":"mot2",
- "canvas_italique":"mot3",
- "canvas_gras":"mot3",
- "canvas_gras_italique":"mot4",
- "standard12":"mot2",
- "standard12_gras":"mot3",
- "standard12_gras_italique":"mot4",
- "statusfont":"mot2",
- "standardcourier10":"mot2"}
- self.YesNo={}
- self.l_param=[]
- CONFIGbase.__init__ (self,appli)
- self.pref="style."
-
- def affichage_style_ini(self):
- self.affichage_fichier_ini()
-
-def make_config(appli,rep):
- return CONFIG(appli,rep)
-
-def make_config_style(appli,rep):
- return CONFIGStyle(appli,rep)
-
-
+# -*- coding: utf-8 -*-\r
+# CONFIGURATION MANAGEMENT OF EDF VERSION\r
+# ======================================================================\r
+# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG\r
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY\r
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY\r
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR\r
+# (AT YOUR OPTION) ANY LATER VERSION.\r
+#\r
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT\r
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF\r
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU\r
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.\r
+#\r
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE\r
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,\r
+# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.\r
+#\r
+#\r
+# ======================================================================\r
+"""\r
+ Ce module sert pour charger les paramètres de configuration d'EFICAS\r
+"""\r
+# Modules Python\r
+import configuration\r
+import os\r
+\r
+\r
+class CONFIG(configuration.CONFIG_BASE):\r
+\r
+ #-----------------------------------\r
+ def __init__(self,appli,repIni):\r
+ #-----------------------------------\r
+\r
+ self.labels_user=['exec_acrobat', 'catalogues','savedir','lang']\r
+ self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues']\r
+\r
+ configuration.CONFIG_BASE.__init__(self,appli,repIni,'.Eficas_install')\r
+\r
+\r
+def make_config(appli,rep):\r
+ return CONFIG(appli,rep)\r
+\r
+++ /dev/null
-# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002 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.
-#
-# 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.
-#
-#
-# ======================================================================
-import os
-
-# Répertoire initial
-import prefs_ASTER
-initialdir=prefs_ASTER.repIni
-rep_cata = os.path.join(initialdir,'Cata')
-rep_Pmw = os.path.join(initialdir,'../Pmw')
-
-# Accès à la documentation Aster
-path_doc = os.path.abspath(os.path.join(rep_cata,'..','Doc'))
-exec_acrobat = "acroread"
-
-# Utilisateur/Développeur
-isdeveloppeur = "NON"
-path_cata_dev = "/tmp/cata"
-# Répertoire temporaire
-rep_travail = "/tmp"
-
-# Choix des catalogues
-rep_mat_STA88=os.path.join(rep_cata,'cataSTA8','materiau')
-rep_mat_STA98=os.path.join(rep_cata,'cataSTA9','materiau')
-rep_mat_STA103=os.path.join(rep_cata,'cataSTA10','materiau')
-#
-catalogues=(
-('ASTER','STA8.8',os.path.join(rep_cata,'cataSTA8'),'python'),
-('ASTER','STA9.8',os.path.join(rep_cata,'cataSTA9'),'python'),
-('ASTER','STA10.3',os.path.join(rep_cata,'cataSTA10'),'python'),
-('ASTER','STA11',os.path.join(rep_cata,'cataSTA11'),'python','defaut'),
-)
+++ /dev/null
-# CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002 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.
-#
-# 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.
-#
-#
-# ======================================================================
-
-import os
-
-import prefs
-
-rep_cata = os.path.join(prefs.repIni,'Cata')
-rep_Pmw = os.path.join(prefs.repIni,'../Pmw')
-
-# Accès à la documentation Aster
-path_doc = os.path.join(rep_cata,'..','Doc')
-exec_acrobat = os.environ['ASTER']+'/OUTILS/acroread.bat'
-
-# Utilisateur/Développeur
-isdeveloppeur = "NON"
-path_cata_dev = os.environ['TEMP']
-# Répertoire temporaire
-rep_travail = os.environ['TEMP']
-# Répertoire initial
-initialdir=os.curdir
-
-# Choix des catalogues
-rep_mat=os.path.join(rep_cata,'..','materiau')
-
-catalogues = (
-# ('ASTER','v5.9',os.path.join(rep_cata,'cataSTA5'),'asterv5'),
-# ('ASTER','v6.8',os.path.join(rep_cata,'cataSTA6'),'python6'),
-# ('ASTER','v7.7',os.path.join(rep_cata,'cataSTA7'),'python'),
- ('ASTER','v8.3',os.path.join(rep_cata,'cataSTA8'),'python','defaut'),
- )
-
+++ /dev/null
-# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002 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.
-#
-# 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.
-#
-#
-# ======================================================================
-import os
-
-# Répertoire initial
-import prefs_ASTER
-initialdir=prefs_ASTER.repIni
-rep_cata = os.path.join(initialdir,'Cata')
-rep_Pmw = os.path.join(initialdir,'../Pmw')
-
-# Accès à la documentation Aster
-path_doc = os.path.join(rep_cata,'..','Doc')
-exec_acrobat = "acroread"
-
-# Utilisateur/Développeur
-isdeveloppeur = "NON"
-path_cata_dev = "/tmp/cata"
-# Répertoire temporaire
-rep_travail = "/tmp"
-
-# Choix des catalogues
-rep_mat_STA88=os.path.join(rep_cata,'cataSTA8','materiau')
-rep_mat_STA98=os.path.join(rep_cata,'cataSTA9','materiau')
-rep_mat_STA103=os.path.join(rep_cata,'cataSTA10','materiau')
-#
-catalogues=(
-('ASTER','STA8.8',os.path.join(rep_cata,'cataSTA8'),'python'),
-('ASTER','STA9.8',os.path.join(rep_cata,'cataSTA9'),'python'),
-('ASTER','STA10.3',os.path.join(rep_cata,'cataSTA10'),'python','defaut'),
-)
import os
-# repIni sert à localiser le fichier editeur.ini
+# repIni sert a localiser le fichier editeur.ini
# Obligatoire
repIni=os.path.dirname(os.path.abspath(__file__))
-INSTALLDIR=os.path.abspath(os.path.join(repIni,'..'))
+rep_cata = os.path.join(repIni,'Cata')
+mode_nouv_commande='alpha'
-# CODE_PATH sert à localiser Noyau et Validation éventuellement
-# non contenus dans la distribution EFICAS
-# Par défaut on utilise les modules de INSTALLDIR
-# Peut valoir None (defaut)
-CODE_PATH = None
-
-
-# lang indique la langue utilisée pour les chaines d'aide : fr ou ang
+# lang indique la langue utilisee pour les chaines d'aide : fr ou ang
lang='fr'
# Codage des strings qui accepte les accents (en remplacement de 'ascii')
encoding='iso-8859-1'
+# Utilisateur/Developpeur
+isdeveloppeur = "NON"
-# Preference
-if os.name == 'nt':
- userprefs = os.sep.join( [ os.environ['HOMEDRIVE'], os.environ['HOMEPATH'], 'Eficas_install', 'prefs.py' ])
-else :
- userprefs=os.path.expanduser("~/.Eficas_install/prefs.py")
-
-if os.path.isfile(userprefs):
- try:
- execfile(userprefs)
- except:
- pass
-
-#-------------------------------------------------------------------
-# Partie pour TK
-#-------------------------------------------------------------------
-
-labels= ('Fichier','Edition','Jeu de commandes',
- 'Options',
- 'Aide',
- 'Traduction',
- )
-
-appli_composants=['readercata','bureau',
- 'options',
- ]
-
-menu_defs={ 'bureau': [
- ('Fichier',[
- ('Nouveau','newJDC','<Control-n>','Ctrl+N'),
- ('Nouvel INCLUDE','newJDC_include'),
- ('Ouvrir','openJDC','<Control-o>','Ctrl+O'),
- ('Enregistrer','saveJDC','<Control-s>','Ctrl+S'),
- ('Enregistrer sous','saveasJDC','<Control-e>','Ctrl+E'),
- None,
- ('Fermer','closeJDC','<Control-w>','Ctrl+W'),
- ('Quitter','exitEFICAS','<Control-q>','Ctrl+Q'),
- ]
- ),
- ('Edition',[
- ('Copier','copy','<Control-c>','Ctrl+C'),
- ('Couper','cut','<Control-x>','Ctrl+X'),
- ('Coller','paste','<Control-v>','Ctrl+V'),
- ]
- ),
- ('Jeu de commandes',[
- ('Rapport de validation','visuCRJDC','<Control-r>','Ctrl+R'),
- ('Fichier source','visu_txt_brut_JDC','<Control-b>','Ctrl+B'),
- #('Paramètres Eficas','affichage_fichier_ini'),
- ]
- ),
- ('Traduction',[
- ('Traduction v7 en v8','TraduitFichier7'),
- ('Traduction v8 en v9','TraduitFichier8','<Control-t>','Ctrl+T'),
- ]
- ),
- ('Aide',[
- ('Aide EFICAS','aideEFICAS','<Control-a>','Ctrl+A'),
- ]
- ),
- ]
- }
+# Choix des catalogues
+rep_mat_STA88=os.path.join(rep_cata,'cataSTA8','materiau')
+rep_mat_STA98=os.path.join(rep_cata,'cataSTA9','materiau')
+rep_mat_STA103=os.path.join(rep_cata,'cataSTA10','materiau')
+#
+catalogues=(
+('ASTER','STA8.8',os.path.join(rep_cata,'cataSTA8'),'python'),
+('ASTER','STA9.8',os.path.join(rep_cata,'cataSTA9'),'python'),
+('ASTER','STA10.3',os.path.join(rep_cata,'cataSTA10'),'python'),
+('ASTER','STA11',os.path.join(rep_cata,'cataSTA11'),'python','defaut'),
+)
# ======================================================================
"""
- Ce module sert à lancer EFICAS configuré pour Code_Aster
+ Ce module sert a lancer EFICAS configure pour Code_Aster
"""
# Modules Python
# Modules Eficas
def __init__(self,appli,repIni):\r
#-----------------------------------\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,repIni,'.Eficas_Carmel3D')\r
+ self.labels_user=['exec_acrobat', 'catalogues','savedir']\r
+ self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues']\r
+\r
self.INSTALLDIR =os.path.dirname(__file__)\r
- self.REPINI =os.path.dirname(__file__)\r
-\r
- self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc',]\r
- self.labels_eficas=["rep_user","INSTALLDIR","path_doc","exec_acrobat"]\r
- self.labels_eficas=self.labels_eficas+["rep_cata","initialdir","savedir","catalogues"]\r
- self.cataFile="editeur.ini"\r
- self.setValeurs()\r
-\r
- #---------------------------------------\r
- def lecture_fichier_ini_standard(self):\r
- #---------------------------------------\r
- configuration.CONFIG_BASE.lecture_fichier_ini_standard(self)\r
-\r
- #---------------------------------------\r
- def lecture_fichier_ini_utilisateur(self):\r
- #---------------------------------------\r
- configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self)\r
+ configuration.CONFIG_BASE.__init__(self,appli,repIni,'.Eficas_Carmel3D')\r
+\r
\r
def make_config(appli,rep):\r
return CONFIG(appli,rep)\r
+++ /dev/null
-# Choix des catalogues
-import os
-import prefs_CARMEL3D
-rep_cata=prefs_CARMEL3D.repIni
-
-catalogues = (
-# (code,version,catalogue,formatIn,formatOut)
-# catalogue entier et etendu : tout est decrit avec les repetitions qui en decoulent
- ('CARMEL3D','V1',os.path.join(rep_cata,'Carmel3D_cata_etendu.py'),'python','python'),
-# catalogue avec essai de mise en commun de certains blocs (loi)
- ('CARMEL3D','V2',os.path.join(rep_cata,'Carmel3D_cata_fact.py'),'python','python'),
-# catalogue avec materiau en tete
- ('CARMEL3D','V3',os.path.join(rep_cata,'Carmel3D_cata_mat.py'),'python','python'),
- ('CARMEL3D','V4',os.path.join(rep_cata,'Carmel3D_cata_matloi.py'),'python','python'),
- ('CARMEL3D','V5',os.path.join(rep_cata,'Carmel3D_cata_pa.py'),'python','python'),
- ('CARMEL3D','V6',os.path.join(rep_cata,'Carmel3D_cata_pn.py'),'python','python'),
-)
-
import os
-# repIni sert à localiser le fichier editeur.ini
-# Obligatoire
+# repIni sert a localiser le fichier editeur.ini
repIni=os.path.dirname(os.path.abspath(__file__))
-REPINI=os.path.dirname(os.path.abspath(__file__))
-INSTALLDIR=os.path.abspath(os.path.join(repIni,'..'))
-
-# CODE_PATH sert à localiser Noyau et Validation éventuellement
-# non contenus dans la distribution EFICAS
-# Par défaut on utilise les modules de INSTALLDIR
-# Peut valoir None (defaut)
-CODE_PATH = None
-
-
-# lang indique la langue utilisée pour les chaines d'aide : fr ou ang
+# lang indique la langue utilisee pour les chaines d'aide : fr ou ang
lang='fr'
# Codage des strings qui accepte les accents (en remplacement de 'ascii')
encoding='iso-8859-1'
+# Choix des catalogues
+# format du Tuple (code,version,catalogue,formatOut, finit par defaut Ãventuellement)
+catalogues = (
+ ('CARMEL3D','V1',os.path.join(repIni,'Carmel3D_cata_v0.py'),'python'),
+ ('CARMEL3D','V0',os.path.join(repIni,'Carmel3D_cata_v0.py'),'carmel3d','defaut'),
+)
-# Preference
-if os.name == 'nt':
- userprefs = os.sep.join( [ os.environ['HOMEDRIVE'], os.environ['HOMEPATH'], 'Eficas_install', 'prefs.py' ])
-else :
- userprefs=os.path.expanduser("~/.Eficas_install/prefs.py")
-
-if os.path.isfile(userprefs):
- try:
- execfile(userprefs)
- except:
- pass
-
-#-------------------------------------------------------------------
-# Partie pour TK
-#-------------------------------------------------------------------
-
-labels= ('Fichier','Edition','Jeu de commandes',
- 'Options',
- 'Aide',
- 'Traduction',
- )
-
-appli_composants=['readercata','bureau',
- 'options',
- ]
-
-menu_defs={ 'bureau': [
- ('Fichier',[
- ('Nouveau','newJDC','<Control-n>','Ctrl+N'),
- ('Nouvel INCLUDE','newJDC_include'),
- ('Ouvrir','openJDC','<Control-o>','Ctrl+O'),
- ('Enregistrer','saveJDC','<Control-s>','Ctrl+S'),
- ('Enregistrer sous','saveasJDC','<Control-e>','Ctrl+E'),
- None,
- ('Fermer','closeJDC','<Control-w>','Ctrl+W'),
- ('Quitter','exitEFICAS','<Control-q>','Ctrl+Q'),
- ]
- ),
- ('Edition',[
- ('Copier','copy','<Control-c>','Ctrl+C'),
- ('Couper','cut','<Control-x>','Ctrl+X'),
- ('Coller','paste','<Control-v>','Ctrl+V'),
- ]
- ),
- ('Jeu de commandes',[
- ('Rapport de validation','visuCRJDC','<Control-r>','Ctrl+R'),
- ('Fichier source','visu_txt_brut_JDC','<Control-b>','Ctrl+B'),
- #('Paramètres Eficas','affichage_fichier_ini'),
- ]
- ),
- ('Traduction',[
- ('Traduction v7 en v8','TraduitFichier7'),
- ('Traduction v8 en v9','TraduitFichier8','<Control-t>','Ctrl+T'),
- ]
- ),
- ('Aide',[
- ('Aide EFICAS','aideEFICAS','<Control-a>','Ctrl+A'),
- ]
- ),
- ]
- }
-# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002 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.
-#
-# 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.
-#
-#
-# ======================================================================
-"""
- Ce module sert pour charger les paramètres de configuration d'EFICAS
-"""
-# Modules Python
-print "passage dans la surcharge de configuration pour OTW"
-import os, sys, string, types, re
-import traceback
-from PyQt4.QtGui import *
-from utils import read_file
-
-# Modules Eficas
-from Editeur import utils
-
-class CONFIG:
-
- #-----------------------------------
- def __init__(self,appli,repIni):
- #-----------------------------------
-
- # Classe de base permettant de lire, afficher
- # et sauvegarder les fichiers utilisateurs
- # On a deux directories : la directory generale (Repertoire d instal + Nom du code
- # Par exemple : ~/Install_Eficas/EficasV1_14/Cuve2dg
- # et la directorie de l utilisateur
- # HOME/.Eficas_Cuve2dg
- # Le fichier prefs.py va etre lu dans la directory generale puis surcharge eventuellement
- # par celui de l utilisateur
- # le fichier de catalogue va etre lu dans la directory de l utilisateur s il exite
- # dans le fichier general sinon
- self.appli = appli
- self.code = appli.code
- self.salome = appli.salome
- self.repIni = repIni
-
- if self.appli:
- self.parent=appli.top
- self.appli.mode_nouv_commande='initial'
- else: self.parent=None
-
-
- # Valeurs par defaut
- self.rep_user = os.path.join(os.environ['HOME'],'.Eficas_Cuve2dg')
- if not os.path.isdir(self.rep_user) : os.mkdir(self.rep_user)
- self.initialdir = self.rep_user
- self.path_doc = self.rep_user
- self.savedir = os.path.join(os.environ['HOME'],'Eficas_Cuve2dg')
- if not os.path.isdir(self.savedir) : os.mkdir(self.savedir)
- self.exec_acrobat = self.rep_user
-
- self.labels_user=('exec_acrobat', 'catalogues','savedir','path_doc')
- self.labels_eficas=("rep_user","INSTALLDIR","path_doc","exec_acrobat","rep_cata","initialdir","savedir","catalogues")
-
- #Lecture des fichiers utilisateurs
- self.lecture_fichier_ini_standard()
- self.lecture_fichier_ini_utilisateur()
- self.lecture_catalogues()
- rep_mat=" " # Compatibilite Aster
-
-
- #--------------------------------------
- def lecture_fichier_ini_standard(self):
- #--------------------------------------
- # Verifie l'existence du fichier "standard"
- # appelle la lecture de ce fichier
- import prefs
- name='prefs_'+prefs.code
- prefsCode=__import__(name)
- self.prefsUser=name+".py"
- for k in self.labels_eficas :
- try :
- valeur=getattr(prefsCode,k)
- setattr(self,k,valeur)
- except :
- pass
-
-
- #--------------------------------------
- def lecture_fichier_ini_utilisateur(self):
- #--------------------------------------
- # Surcharge les paramètres standards par les paramètres utilisateur s'ils existent
- self.fic_ini_utilisateur = os.path.join(self.rep_user,self.prefsUser)
- if not os.path.isfile(self.fic_ini_utilisateur): return
-
- txt = utils.read_file(self.fic_ini_utilisateur)
- from styles import style
- d=locals()
- try:
- exec txt in d
- except :
- l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
- QMessageBox.critical( None, "Import du fichier de Configuration",
- "Erreur à la lecture du fichier de configuration " + self.fic_ini_utilisateur )
- sys.exit(0)
- for k in self.labels_user :
- try :
- setattr(self,k,d[k])
- except :
- pass
-
-
- #--------------------------------------
- def lecture_catalogues(self):
- #--------------------------------------
- rep_mat=" " # Compatibilite Aster
- if hasattr(self,"catalogues") :
- return
-
- fic_ini = os.path.join(self.repIni,"catalogues_cuve2dg.ini")
- if not os.path.isfile(fic_ini) :
- QMessageBox.critical( None, "Erreur a l'import du fichier des Catalogues",
- "Le fichier de configuration des catalogues "+fic_ini+" n a pas été trouvé" )
- sys.exit(0)
-
- txt = utils.read_file(fic_ini)
- d=locals()
- try:
- exec txt in d
- self.catalogues=d["catalogues"]
- except :
- l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
- QMessageBox.critical( None, "Import du fichier de Configuration",
- "Erreur à la lecture du fichier de configuration " + fic_ini )
- sys.exit(0)
-
-
-
- #--------------------------------------
- def save_params(self):
- #--------------------------------------
- # sauvegarde
- # les nouveaux paramètres dans le fichier de configuration utilisateur
- #
- texte=""
- for clef in self.labels_user :
- if hasattr(self,clef):
- valeur=getattr(self,clef)
- texte= texte + clef+" = " + repr(valeur) +"\n"
- f=open(self.fic_ini_utilisateur,'w+')
- print self.fic_ini_utilisateur
- f.write(texte)
- f.close()
-#
-
-
-def make_config(appli,rep):
- return CONFIG(appli,rep)
-
-def make_config_style(appli,rep):
- return None
-
-
+# -*- coding: utf-8 -*-\r
+# CONFIGURATION MANAGEMENT OF EDF VERSION\r
+# ======================================================================\r
+# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG\r
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY\r
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY\r
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR\r
+# (AT YOUR OPTION) ANY LATER VERSION.\r
+#\r
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT\r
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF\r
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU\r
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.\r
+#\r
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE\r
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,\r
+# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.\r
+#\r
+#\r
+# ======================================================================\r
+"""\r
+ Ce module sert pour charger les paramètres de configuration d'EFICAS\r
+"""\r
+# Modules Python\r
+import configuration\r
+import os\r
+\r
+\r
+class CONFIG(configuration.CONFIG_BASE):\r
+\r
+ #-----------------------------------\r
+ def __init__(self,appli,repIni):\r
+ #-----------------------------------\r
+\r
+ self.labels_user=['exec_acrobat', 'catalogues','savedir']\r
+ self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues']\r
+\r
+ self.INSTALLDIR =os.path.dirname(__file__)\r
+ configuration.CONFIG_BASE.__init__(self,appli,repIni,'.Eficas_Cuve2DG')\r
+\r
+\r
+def make_config(appli,rep):\r
+ return CONFIG(appli,rep)\r
+\r
print "import des prefs de CUVE2DG"
-# repIni sert à localiser le fichier
-# initialdir sert comme directory initial des QFileDialog
+# repIni sert a localiser le fichier
# positionnee a repin au debut mise a jour dans configuration
repIni=os.path.dirname(os.path.abspath(__file__))
-initialdir=repIni
+rep_cata=repIni
-# INSTALLDIR sert à localiser l'installation d'Eficas
+# INSTALLDIR sert a localiser l'installation d'Eficas
INSTALLDIR=os.path.join(repIni,'..')
# 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
+# lang indique la langue utilisee pour les chaines d'aide : fr ou ang
lang='fr'
encoding='iso-8859-1'
# Acces a la documentation
-rep_cata = INSTALLDIR
-path_doc = os.path.join(rep_cata,'Doc')
+path_doc = os.path.join(INSTALLDIR,'Doc')
exec_acrobat = "/usr/bin/xpdf"
+# Choix des catalogues
+import os
+
+catalogues = (
+# (code,version,catalogue,formatIn,formatOut)
+# ('CUVE2DG','V1',os.path.join(rep_cata,'Cuve2dg_Cata_VPN.py'),'cuve2dg','cuve2dg'),
+ ('CUVE2DG','V2',os.path.join(rep_cata,'DefaillCUVE_Cata.py'),'cuve2dg','cuve2dg'),
+)
+
+print os.path.join(rep_cata,'DefaillCUVE_Cata.py')
# Choix des catalogues
sys.path[:0]=[INSTALLDIR]
pass
return liste1
-def get_rep_user():
+def get_rep_user(dir):
"""
Determine sur quelle plate-forme s'execute Eficas et recherche
le repertoire de l'utilisateur /$home/Eficas_install
"""
- if os.name not in ('posix','nt'):
- print "Systeme non reconnu par Eficas"
- print "Prevenir la maintenance"
- sys.exit(0)
- if os.name == 'nt':
- try:
- drive = os.environ['HOMEDRIVE']
- nom_user = os.environ['USERNAME']
- rep_user_eficas = drive+'\\'+nom_user+'\\'+'Eficas_install'
- except:
- rep_user_eficas = os.path.join('C:','Eficas_install')
- else :
- rep_user_eficas= os.path.join(os.environ['HOME'],'.Eficas_install')
+
+ rep_user_eficas= os.path.join(os.environ['HOME'],dir)
if os.path.exists(rep_user_eficas):
if os.path.isfile(rep_user_eficas) :
print "Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom" %rep_user_eficas
#\r
# ======================================================================\r
"""\r
- Ce module sert pour charger les paramètres de configuration d'EFICAS\r
+ Ce module sert pour charger les parametres de configuration d'EFICAS\r
"""\r
# Modules Python\r
import os, sys, string, types, re\r
import traceback\r
-from PyQt4.QtGui import *\r
-from utils import read_file\r
-\r
-# Modules Eficas\r
-from Editeur import utils\r
+from PyQt4.QtGui import QMessageBox\r
+from Editeur.utils import read_file\r
\r
class CONFIG_BASE:\r
\r
\r
# Classe de base permettant de lire, afficher\r
# et sauvegarder les fichiers utilisateurs \r
- # On a deux directories : la directory generale (Repertoire d instal + Nom du code\r
+ # On a deux directories : la directory generale (Repertoire d install + Nom du code\r
# Par exemple : ~/Install_Eficas/EficasV1_14/Openturns_Wrapper\r
# et la directorie de l utilisateur \r
# HOME/.Eficas_Openturns\r
- # Le fichier prefs.py va etre lu dans la directory generale puis surcharge eventuellement \r
- # par celui de l utilisateur\r
+ # Le fichier prefs.py va etre lu dans la directory generale \r
+ # puis surcharge eventuellement par celui contenu dans ${PREFS_CATA_$CODE} \r
+ # par celui de l utilisateur\r
# le fichier de catalogue va etre lu dans la directory de l utilisateur s il exite\r
# dans le fichier general sinon\r
self.appli = appli \r
self.code = appli.code\r
self.salome = appli.salome\r
+ if self.salome : self.name="editeur_salome.ini"\r
+ else : self.name="editeur.ini"\r
self.repIni = repIni\r
self.rep_user = os.path.join(os.environ['HOME'],nomDir)\r
+ self.mode_nouv_commande='initial'\r
\r
+\r
+ self.setValeursParDefaut()\r
+ \r
+ self.lecture_fichier_ini_standard()\r
+ self.lecture_fichier_ini_integrateur()\r
+ #self.lecture_fichier_ini_utilisateur()\r
+\r
+ #Particularite des schemas MAP\r
+ if hasattr(self,'make_ssCode'): self.make_ssCode(self.ssCode)\r
+\r
if self.appli: \r
self.parent=appli.top\r
- self.appli.mode_nouv_commande='initial'\r
+ self.appli.mode_nouv_commande= self.mode_nouv_commande\r
else: self.parent=None\r
+ \r
\r
\r
-\r
- def setValeurs(self):\r
- #---------------------\r
+ def setValeursParDefaut(self):\r
+ #-----------------------------\r
\r
# Valeurs par defaut\r
if not os.path.isdir(self.rep_user) : os.mkdir(self.rep_user)\r
- self.initialdir = self.rep_user\r
- self.path_doc = self.rep_user\r
- self.savedir = self.rep_user\r
- self.exec_acrobat = self.rep_user\r
+ self.path_doc = os.path.join(self.repIni,'..','Doc') # sert pour la documentation du Node (clic droit)\r
+ self.exec_acrobat = 'acroread'\r
+ nomDir="Eficas_"+self.code\r
+ self.savedir = os.path.abspath(os.path.join(os.environ['HOME'],nomDir))\r
+ if not os.path.isdir(self.savedir) : os.mkdir(self.savedir)\r
\r
- #Lecture des fichiers utilisateurs\r
- self.lecture_fichier_ini_standard()\r
- if hasattr(self,'make_ssCode'):\r
- self.make_ssCode(self.ssCode)\r
- self.lecture_fichier_ini_utilisateur()\r
- self.lecture_catalogues()\r
-\r
#--------------------------------------\r
def lecture_fichier_ini_standard(self):\r
#--------------------------------------\r
- # Verifie l'existence du fichier "standard"\r
- # appelle la lecture de ce fichier\r
+\r
name='prefs_'+self.appli.code\r
prefsCode=__import__(name)\r
- self.prefsUser=name+".py"\r
- for k in self.labels_eficas :\r
- try :\r
- valeur=getattr(prefsCode,k)\r
- setattr(self,k,valeur)\r
- except :\r
- pass\r
+ for k in dir(prefsCode):\r
+ if (k[0:1] != "__" and k[-1:-2] !='__'):\r
+ valeur=getattr(prefsCode,k)\r
+ setattr(self,k,valeur)\r
+\r
\r
#--------------------------------------\r
- def lecture_fichier_ini_utilisateur(self):\r
+ def lecture_fichier_ini_integrateur(self):\r
#--------------------------------------\r
- # Surcharge les paramètres standards par les paramètres utilisateur s'ils existent\r
- self.fic_ini_utilisateur = os.path.join(self.rep_user,self.prefsUser)\r
- if not os.path.isfile(self.fic_ini_utilisateur): return\r
-\r
- txt = utils.read_file(self.fic_ini_utilisateur)\r
- from styles import style\r
+ # Verifie l'existence du fichier "standard"\r
+ # appelle la lecture de ce fichier\r
+ clef="PREFS_CATA_"+self.code\r
+ try :\r
+ repIntegrateur=os.path.abspath(os.environ[clef])\r
+ print repIntegrateur\r
+ except :\r
+ return\r
+ \r
+ fic_ini_integrateur=os.path.join(repIntegrateur,self.name)\r
+ if not os.path.isfile(fic_ini_integrateur): return\r
+ txt = read_file(fic_ini_integrateur)\r
d=locals()\r
try:\r
exec txt in d\r
except :\r
- l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])\r
QMessageBox.critical( None, "Import du fichier de Configuration", \r
- "Erreur à la lecture du fichier de configuration " + self.fic_ini_utilisateur )\r
- sys.exit(0)\r
- for k in self.labels_user :\r
+ "Erreur a la lecture du fichier de configuration " + fic_ini_integrateur)\r
+ return\r
+ for k in self.labels_eficas :\r
try :\r
setattr(self,k,d[k])\r
except :\r
pass\r
+ #Glut pour les repertoires materiaux\r
+ for k in d.keys() :\r
+ if k[0:9]=="rep_mat_v" :\r
+ setattr(self,k,d[k])\r
\r
\r
#--------------------------------------\r
- def lecture_catalogues(self):\r
+ def lecture_fichier_ini_utilisateur(self):\r
#--------------------------------------\r
- rep_mat=" " # Compatibilite Aster\r
- if hasattr(self,"catalogues") : return\r
- \r
- fic_ini = os.path.join(self.repIni,self.cataFile)\r
- if not os.path.isfile(fic_ini) :\r
- QMessageBox.critical( None, "Erreur a l'import du fichier des Catalogues", \r
- "Le fichier de configuration des catalogues "+fic_ini+" n a pas été trouvé" )\r
- sys.exit(0)\r
+ # Surcharge les parametres standards par les parametres utilisateur s'ils existent\r
+ fic_ini_utilisateur = os.path.join(self.rep_user,self.name)\r
+ if not os.path.isfile(fic_ini_utilisateur): return\r
\r
- txt = utils.read_file(fic_ini)\r
+ txt = read_file(fic_ini_utilisateur)\r
d=locals()\r
try:\r
exec txt in d\r
- self.catalogues=d["catalogues"]\r
except :\r
l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])\r
QMessageBox.critical( None, "Import du fichier de Configuration", \r
- "Erreur à la lecture du fichier de configuration " + fic_ini )\r
- sys.exit(0)\r
-\r
-\r
+ "Erreur a la lecture du fichier de configuration " + fic_ini_utilisateur )\r
+ for k in self.labels_user :\r
+ try :\r
+ setattr(self,k,d[k])\r
+ except :\r
+ pass\r
\r
#--------------------------------------\r
def save_params(self):\r
#--------------------------------------\r
# sauvegarde\r
- # les nouveaux paramètres dans le fichier de configuration utilisateur\r
+ # les nouveaux parametres dans le fichier de configuration utilisateur\r
#\r
texte=""\r
for clef in self.labels_user :\r
from PyQt4.QtGui import *
from PyQt4.QtCore import *
-
# Import des panels
def verifieInstall(self):
self.groupCodes=QButtonGroup(self)
- for code in ('Aster','Cuve2dg','Openturns_Study','Openturns_Wrapper','Carmel3D'):
+ for code in ('Aster','Cuve2dg','Openturns_Study','Openturns_Wrapper','Carmel3D','MAP'):
nom='rB_'+code
bouton=getattr(self,nom)
dirCode=os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code))
self.groupCodes.addButton(bouton)
except :
bouton.close()
-
def choisitCode(self):
bouton=self.groupCodes.checkedButton()
codeUpper=code.upper()
self.parentAppli.code=codeUpper
sys.path.insert(0,os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code)))
- print sys.path
self.close()
"s_oxides_mt_1" : "Estimation du champ mecanique dans une couche de zircone \npresentant des defauts et de l'energie elastique relaxee",
"s_scc_st_1" : "Analyse morphologique et mecanique d'une couche d'oxydes",
"s_scc_st_2" : "Analyse statistique de donnees locales et experimentales \nou numeriques",
-"s_scc_st_3" : "taux de couverture des joints de grains par des precipites",
+"s_scc_st_3" : "taux de couverture des joints de grains par des precipites",
+"s_scc_3d" : "Analyse 3D",
"s_polymers_st_1" : "Estimation numerique 3D de la diffusion effective des gaz dans les polymeres charges",
-"s_rpv2" : "Essai Pascale",
+"s_Perfect" : "Essai Perfect",
"s_DIC" : "Essai Felix",
}
"mecanique avec defaut" : "s_oxides_mt_1"},
"scc" : {"analyse morphologique" : "s_scc_st_1",
"analyse statistique" : "s_scc_st_2",
- "analyse 3d" : "s_scc_pn",
+ "analyse 3d" : "s_scc_3d",
"taux de couverture" : "s_scc_st_3"},
"concrete" : {},
- "polycristals" : {"essai Pascale" : "s_rpv2",},
+ "polycristals" : {},
"polymers" : {"numerique 3D" : "s_polymers_st_1"},
"micro" : {},
"seal" : {},
"mox" : {},
"nano" : {},
+ "perfect" : {"Essai pour Perfect":"s_Perfect"},
"insulator" : {},
"images" : {"Felix" : "s_DIC"}
}
class MonChoixMap(Ui_ChoixMap,QtGui.QDialog):
"""
"""
- def __init__(self, choixCata,parentQT=None,parentAppli=None):
- QtGui.QDialog.__init__(self,parentQT)
+ def __init__(self, parentAppli):
+ QtGui.QDialog.__init__(self)
self.setMinimumSize(50, 50);
self.setModal(True)
self.setupUi(self)
- self.ajouteCeQuilFaut()
- self.choixCata=choixCata
self.parentAppli=parentAppli
+ self.ajouteCeQuilFaut()
def ajouteCeQuilFaut(self) :
self.groupModules.addButton(self.RBM9)
self.groupModules.addButton(self.RBM10)
self.groupModules.addButton(self.RBM11)
+ self.groupModules.addButton(self.RBM12)
self.groupScheme=QButtonGroup(self.groupBoxScheme)
self.connect(self.groupModules,SIGNAL("buttonClicked (QAbstractButton*)"),self.modifieModule)
self.connect(self.groupScheme,SIGNAL("buttonClicked (QAbstractButton*)"),self.choisitSchema)
def modifieModule(self):
self.module=str(self.groupModules.checkedButton().text())
dicoModules=dico[self.module]
- self.choixCata.module=self.module
for bouton in self.groupScheme.buttons():
self.groupScheme.removeButton(bouton)
bouton.close()
def choisitSchema(self):
schema=str(self.groupScheme.checkedButton().text())
- self.choixCata.schema=schema
nomCata= dico[self.module][schema]
- if self.parentAppli==None :
- self.choixCata.nom=nomCata
- else :
- self.parentAppli.ssCode=nomCata
+ self.parentAppli.ssCode=nomCata
self.close();
self.QWParent=None #(Pour lancement sans IHM)
self.indice=0
self.dict_reels={}
+ self.code=code
self.RepIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'../Editeur/icons')
self.multi=multi
if self.multi == False :
self.definitCode(code,ssCode)
if code==None: return
+
+ if self.code=="MAP" and ssCode== None : self.definitSsCode()
eficas_root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
self.ajoutIcones()
prefsCode=__import__(name)
self.repIni=prefsCode.repIni
- self.INSTALLDIR=prefsCode.INSTALLDIR
if ssCode != None :
self.format_fichier= ssCode #par defaut
prefsCode.NAME_SCHEME=ssCode
self.initPatrons()
self.ficRecents={}
+ def definitSsCode(self) :
+ from InterfaceQT4 import monChoixMap
+ ChoixMap = monChoixMap.MonChoixMap(self)
+ ChoixMap.show()
+ ret=ChoixMap.exec_()
+
def ASTER(self) :
self.menuTraduction = self.menubar.addMenu("menuTraduction")
self.actionTraduitV7V8 = QAction(self)
monVisuDialg.show()
def aidePPal(self) :
- maD=self.INSTALLDIR+"/Aide"
+ maD=self.repIni+"../Aide"
docsPath = QDir(maD).absolutePath()
try :
monAssistant=QAssistantClient(QString(""), self)
if __name__=='__main__':
# Modules Eficas
- sys.path.append(INSTALLDIR+"/Aster")
+ rep=os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__),'..','ASTER')))
+ sys.path.append(rep)
from Aster import prefsCode
if hasattr(prefsCode,'encoding'):
# Hack pour changer le codage par defaut des strings
liste_cata_possibles = all_cata_list
else:
for catalogue in all_cata_list:
- #print catalogue.code
- #print catalogue.file_format
if catalogue.code == self.code and catalogue.file_format == self.ssCode:
liste_cata_possibles.append(catalogue)
- #print "___________"
- #print self.ssCode
- #print self.code
if len(liste_cata_possibles)==0:
QMessageBox.critical(self.QWParent, "Import du catalogue",
- u"Pas de catalogue défini pour le code %s" % self.code)
+ "Pas de catalogue de©fini pour le code %s" % self.code)
self.appliEficas.close()
if self.appliEficas.salome == 0 :
sys.exit(1)
# plusieurs catalogues sont disponibles : il faut demander a l'utilisateur
# lequel il veut utiliser ...
self.ask_choix_catalogue(cata_choice_list)
- # On est dans Salome et il faut sortir proprement
if self.fic_cata == None :
if self.appliEficas.salome == 0 :
return
self.determineMater()
- # détermination de fic_cata_c et fic_cata_p
- self.fic_cata_c = self.fic_cata + 'c'
- self.fic_cata_p = os.path.splitext(self.fic_cata)[0]+'_pickled.py'
# import du catalogue
self.cata = self.import_cata(self.fic_cata)
self.Retrouve_Ordre_Cata_Standard()
#
- # analyse des données liées a l'IHM : UIinfo
+ # analyse des données liées l'IHM : UIinfo
#
uiinfo.traite_UIinfo(self.cata)
def Retrouve_Ordre_Cata_Standard_autre(self):
"""
Construit une structure de données dans le catalogue qui permet
- a EFICAS de retrouver l'ordre des mots-clés dans le texte du catalogue.
+ a EFICAS de retrouver l'ordre des mots-clés dans le texte du catalogue.
Pour chaque entité du catlogue on crée une liste de nom ordre_mc qui
contient le nom des mots clés dans le bon ordre
"""
if self.appliEficas.multi==True :
self.appliEficas.definitCode(None,None)
if self.appliEficas.code == None:return
+ if self.appliEficas.code=="MAP" and self.appliEficas.ssCode== None : self.appliEficas.definitSsCode()
fichier = QFileDialog.getOpenFileName(self.appliEficas,
self.appliEficas.trUtf8('Ouvrir Fichier'),
self.appliEficas.CONFIGURATION.savedir,
def newEditor(self,include=0):
if self.appliEficas.multi==True :
self.appliEficas.definitCode(None,None)
+ if self.appliEficas.code=="MAP" and self.appliEficas.ssCode== None : self.appliEficas.definitSsCode()
if self.appliEficas.code == None:return
maPage=self.getEditor(include=include)
+++ /dev/null
-# Choix des catalogues
-import os
-#rep_cata=os.path.dirname(os.path.abspath(__file__))
-rep_cata=os.getcwd()
-MAP_DIRECTORY=os.getenv("MAP_DIRECTORY")
-
-catalogues = (
-# (code, ssCode, catalogue, formatOut, formatIN)
- ('MAP','s_Perfect_V1',os.path.join(rep_cata,'s_Perfect_V1.py'),'s_Perfect','MAP'),
- ('MAP','s_polymers_st_1_V1',os.path.join(rep_cata,'s_polymers_st_1_V1.py'),'s_polymers_st_1','MAP'),
- ('MAP','s_scc_st_2_V1',os.path.join(rep_cata,'s_scc_st_2_V1.py'),'s_scc_st_2','MAP'),
- ('MAP','s_scc_st_2_V1',os.path.join(rep_cata,'s_scc_st_2_V1.py'),'s_scc_pn','MAP'),
- ('MAP','s_rpv2_V0',os.path.join(rep_cata,'s_rpv2_V0.py'),'s_rpv2','MAP'),
- ('MAP','V0',os.path.join(rep_cata,'s_DIC_V1.py'),'s_DIC','MAP'),
- ('MAP','V1',os.path.join(rep_cata,'s_DIC_V1.py'),'s_DIC','MAP'),
- ('MAP','s_scc_3d',os.path.join(rep_cata,'s_scc_3d_analysis_V1.py'),'s_DIC','MAP'),
- ('MAP','c_transverse_empty_python_V1',os.path.join(MAP_DIRECTORY,'components/transverse/c_transverse_empty_python/deploy/c_transverse_empty_python_eficas.py'),'c_transverse_empty_python','MAP'),
-)
-
#\r
# ======================================================================\r
"""\r
- Ce module sert pour charger les paramètres de configuration d'EFICAS\r
+ Ce module sert pour charger les parametres de configuration d'EFICAS\r
"""\r
# Modules Python\r
import os\r
def __init__(self,appli,repIni):\r
#-----------------------------------\r
self.ssCode=appli.ssCode\r
- configuration.CONFIG_BASE.__init__(self,appli,repIni,'.Eficas_MAP')\r
self.INSTALLDIR =os.path.dirname(__file__)\r
\r
self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc','map_path']\r
self.labels_eficas=self.labels_eficas+['PATH_BENHUR','PATH_ASTER','PATH_MODULE','PATH_STUDY']\r
self.labels_eficas=self.labels_eficas+['NAME_SCHEME','PATH_FDVGRID','PATH_MAP','OpenTURNS_path','PATH_GMSH']\r
\r
- self.cataFile="catalogues_MAP.ini"\r
- self.setValeurs()\r
+ #self.cataFile="catalogues_MAP.ini"\r
+ configuration.CONFIG_BASE.__init__(self,appli,repIni,'.Eficas_MAP')\r
\r
def make_ssCode(self,ssCode):\r
if ssCode == None : return\r
# Les variables pouvant positionnees sont :\r
print "import des prefs de MAP"\r
\r
-# repIni sert à localiser le fichier \r
+# repIni sert a localiser le fichier \r
# initialdir sert comme directory initial des QFileDialog\r
# positionnee a repin au debut mise a jour dans configuration\r
repIni=os.path.dirname(os.path.abspath(__file__))\r
-initialdir=repIni \r
-print repIni\r
-\r
-# INSTALLDIR sert à localiser l'installation d'Eficas\r
INSTALLDIR=os.path.join(repIni,'..')\r
+\r
+# INSTALLDIR sert a localiser l'installation d'Eficas\r
PATH_MAP="/local/noyret/MAP/"\r
#PATH_MAP="/local00/bin/MAP/"\r
PATH_PYGMEE=PATH_MAP+"/components/pygmee_v2"\r
\r
\r
# Codage des strings qui accepte les accents (en remplacement de 'ascii')\r
-# lang indique la langue utilisée pour les chaines d'aide : fr ou ang\r
+# lang indique la langue utilisee pour les chaines d'aide : fr ou ang\r
lang='fr'\r
encoding='iso-8859-1'\r
\r
# Acces a la documentation\r
-rep_cata = INSTALLDIR\r
path_doc = os.path.join(repIni,'Doc')\r
exec_acrobat = "/usr/bin/xpdf"\r
savedir = os.environ['HOME']\r
\r
-OpenTURNS_path='/opt/Openturns/Install_0_13_2/lib/python2.5/site-packages'\r
+MAP_DIRECTORY=os.getenv("MAP_DIRECTORY")\r
+\r
+catalogues = (\r
+# (code, identifiant, catalogue, formatOut, formatIN)\r
+ ('MAP','s_Perfect_V1',os.path.join(repIni,'s_Perfect_V1.py'),'s_Perfect'),\r
+ ('MAP','V0',os.path.join(repIni,'s_DIC_V1.py'),'s_DIC'),\r
+ ('MAP','V1',os.path.join(repIni,'s_DIC_V1.py'),'s_DIC','defaut'),\r
+ ('MAP','V1',os.path.join(repIni,'s_scc_3d_analysis_V1.py'),'s_scc_3d','defaut'),\r
+)\r
+\r
+OpenTURNS_path='/local/noyret/Salome/V6_main/tools/install/Openturns_tool-0150-py266-r272-ro144-rp208-sw204-xm278-la331-gr2263-dox173_patch-tbb30/lib/python2.6/site-packages'\r
sys.path[:0]=[INSTALLDIR, OpenTURNS_path]\r
\r
--- /dev/null
+#)# -*- coding: utf-8 -*-
+#
+## --------------------------------------------------
+## debut entete
+## --------------------------------------------------
+#
+from Accas import *
+import os
+import sys
+from prefs_MAP import PATH_MAP
+
+
+class Tuple:
+ def __init__(self,ntuple):
+ self.ntuple=ntuple
+
+ def __convert__(self,valeur):
+ if type(valeur) == types.StringType:
+ return None
+ if len(valeur) != self.ntuple:
+ return None
+ return valeur
+
+ def info(self):
+ return "Tuple de %s elements" % self.ntuple
+
+ __repr__=info
+ __str__=info
+
+#
+#CONTEXT.debug = 1
+JdC = JDC_CATA ( code = 'MAP',
+ execmodul = None,
+ #regles=(AU_MOINS_UN('DISPL',),A_CLASSER('RBM','DISPL'))
+ )# Fin JDC_CATA
+#
+specter_path=PROC(nom="specter_path",op= None,
+ path = SIMP ( typ = 'TXM', defaut=PATH_MAP+"perfect_dev/tools/bin/specter",
+ statut='o', fr = "", ang = "specter_path ", max=1,
+ ),
+)
+residual_energy_model=PROC(nom="residual_energy_model",op= None,
+ beta = FACT (statut='o', max=1,
+ ang = "total number of surviving point defects for cascades in iron up",
+ name= SIMP(statut= "f",typ = 'TXM', ang = "",max=1),
+ value=SIMP(statut= "o",typ = 'R', defaut=0.779, max=1),
+ unit= SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ alpha = FACT (statut='o', max=1,
+ name= SIMP(statut= "f",typ = 'TXM', ang = "",max=1),
+ value=SIMP(statut= "o",typ = 'R', defaut=5.67, ang = "",max=1,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+)
+mfvisc2_path=PROC(nom="mfvisc2_path",op= None,
+ path = SIMP ( typ = 'TXM', defaut=PATH_MAP+"perfect_dev/tools/bin/mfvisc",
+ statut='o', fr = "", ang = "specter_path ", max=1,
+ ),
+)
+
+mfvisc2_parametrisation=PROC(nom="mfvisc2_parametrisation",op= None,
+ stop_if_solute_loss=SIMP (statut= "f",typ = 'TXM',
+ ang = "Yes if you want the rate-theory calculation to stop when a solute loss is detected",
+ defaut="No",into=("Yes","No")
+ ),
+ bound_solute=SIMP (statut= "f",typ = 'TXM',
+ ang = "Yes if you want the to artifically impose the solute conservation by imposing a null flux for concentrations at Nob",
+ defaut="Yes",into=("Yes","No")
+ ),
+ numerical_scheme_i = FACT (statut='o', max=1,
+ ang="Numerical parameters scheme for interstitial",
+ No=FACT(statut='o', max=1,
+ ang='Number of discrete equations for species i',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='No_i', ang = "",max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=30,into=(30,), ang = "",max=1,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ Nc=FACT(statut='o', max=1,
+ ang='Number of continous equations for species i',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='Nc_i', ang = "",max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=300, ang = "",max=1,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ M=FACT(statut='o', max=1, ang='Step value for species i',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='M_i', max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=50, max=1,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ kmet=FACT(statut='o', max=1, ang='Step value for species i',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='kmet_i', max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=97, max=1,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ species=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ numerical_scheme_b = FACT (statut='o', max=1,
+ ang="Numerical parameters scheme for the solute element",
+ No=FACT(statut='o', max=1,
+ ang='Number of discrete equations for species b',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='No_b', ang = "",max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=0, ang = "",max=1,val_min=0,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ Nc=FACT(statut='o', max=1,
+ ang='Number of continous equations for species b',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='Nc_b', ang = "",max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=0, ang = "",max=1,val_min=0,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ M=FACT(statut='o', max=1, ang='Step value for species b',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='M_b', max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=0, max=1,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ kmet=FACT(statut='o', max=1, ang='Step value for species b',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='kmet_b', max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=0, max=1,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ species=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ numerical_scheme_v = FACT (statut='o', max=1,
+ ang="Numerical parameters scheme for vacancies",
+ No=FACT(statut='o', max=1,
+ ang='Number of discrete equations for species v',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='No_v', ang = "",max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=30, ang = "",max=1,val_min=0,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ Nc=FACT(statut='o', max=1,
+ ang='Number of continous equations for species v',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='Nc_v', ang = "",max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=300, ang = "",max=1,val_min=0,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ M=FACT(statut='o', max=1, ang='Step value for species v',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='M_v', max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=30, max=1,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ kmet=FACT(statut='o', max=1, ang='Step value for species v',
+ name=SIMP(statut= "f", typ = 'TXM', defaut='kmet_v', max=1,),
+ value=SIMP(statut= "o",typ = 'I', defaut=55, max=1,),
+ unit=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+ species=SIMP (statut= "f",typ = 'TXM', ang = "",max=1),
+ ),
+
+ ignore_Helium = SIMP (statut= "f",typ = 'TXM', ang = "",max=1,
+ defaut="Yes",into=("Yes","No"),),
+ bound_self_defects = SIMP (statut= "f",typ = 'TXM', max=1,
+ ang="Yes if you want the to artifically impose self defects conservation by imposing a null flux for concentrations at $(No+Nc)$. Choose 'stop' to stop the calculation in case of leakage.",
+ defaut="Stop",into=("Yes","No","Stop"),)
+)
+
+operating_conditions=PROC(nom="operating_conditions",op= None,
+
+ relative_time_increments=SIMP (statut= "o",typ = 'R', min=3, max='**',
+ ang="Relative time increments for the LONG_TERM computation",
+ defaut=(1e-10, 1.0000000000000001e-09, 3e-09, 1e-08, 2.9999999999999997e-08, 9.9999999999999995e-08, 2.9999999999999999e-07, 9.9999999999999995e-07, 3.0000000000000001e-06, 1.0000000000000001e-05, 3.0000000000000001e-05, 0.0001, 0.00029999999999999997, 0.001, 0.0030000000000000001, 0.01, 0.029999999999999999, 0.10000000000000001, 0.29999999999999999, 1.0),
+ ),
+ rescaling_NRT_damage_rate=FACT(statut='o', max=1,
+ ang="rescaling NRT damage rate (dpa/s)",
+ value=SIMP(statut= "o",typ = 'R', defaut=0.0, val_min=0,),
+ unit=SIMP (statut= "f",typ = 'TXM', defaut='dpa_per_s',into=('dpa_per_s',)),
+ ),
+ flux_cut_off_energy=FACT(statut='o', max=1,
+ ang="Energy threshold for the calculation of the flux",
+ value=SIMP(statut= "o",typ = 'R', defaut=1.0, val_min=0,),
+ unit=SIMP (statut= "f",typ = 'TXM', defaut='MeV',into=('MeV',)),
+ ),
+ toughness_calculation_time_index = SIMP (statut= "o",typ = 'R', defaut=-1,into=(-1,),),
+ temp_irrad=FACT(statut='o', max=1,
+ ang="Energy threshold for the calculation of the flux",
+ name=SIMP(statut= "f", typ = 'TXM', defaut='T', max=1,),
+ value=SIMP(statut= "o",typ = 'R', defaut=573.0, val_min=0,),
+ unit=SIMP (statut= "f",typ = 'TXM', defaut='K',into=('K',)),
+ ),
+ time_irrad=FACT(statut='o', max=1,
+ unit=SIMP(statut= "f", typ = 'TXM', defaut='s', max=1,),
+ value=SIMP(statut= "o",typ = 'R', defaut=100000.0, val_min=0,),
+ ),
+ rescaling_flux=FACT(statut='o', max=1,
+ unit=SIMP(statut= "f", typ = 'TXM', defaut='n_per_cm2_per_s', max=1,),
+ value=SIMP(statut= "o",typ = 'R', defaut=0.0, val_min=0,),
+ ),
+)
+
+bcc_crystal=PROC(nom="bcc_crystal",op= None,
+ lattice_parameter=FACT(statut='o', max=1,
+ unit=SIMP(statut= "f", typ = 'TXM', defaut='angstrom', max=1,),
+ value=SIMP(statut= "o",typ = 'R', defaut=2.87, ),
+ ),
+ atomic_volume=FACT(statut='o', max=1,
+ unit=SIMP(statut= "f", typ = 'TXM', defaut='m3', max=1,),
+ value=SIMP(statut= "o",typ = 'R', defaut=1.18199515e-29, ),
+ ),
+ structure=SIMP (statut= "f",typ = 'TXM', defaut='bcc',into=('bcc','fcc'),
+ ang='Crystalline structure of the considered alloy'),
+ atomic_density=FACT(statut='o', max=1,
+ unit=SIMP(statut= "f", typ = 'TXM', defaut='at_per_m3', max=1,),
+ value=SIMP(statut= "o",typ = 'R', defaut=8.46027160095e+28, ),
+ ),
+)
+
+neutron_spectrum=PROC(nom="neutron_spectrum",op= None,
+ spectrum=SIMP(statut= "o",typ = 'R',max='**', defaut=(0.0465, 21000000000000.0, 0.10000000000000001, 24300000000000.0, 0.20000000000000001, 27300000000000.0, 0.40000000000000002, 37800000000000.0, 0.80000000000000004, 46600000000000.0, 1.0, 16400000000000.0, 1.3999999999999999, 25800000000000.0, 2.5, 41200000000000.0)),
+
+ spectrum_description=SIMP(statut= "f", typ = 'TXM', max=1,),
+)
+
+diffusion_model=PROC(nom="diffusion_model",op=None,
+ mv=FACT(statut='o', max=1,
+ value=SIMP(statut= "o",typ = 'R', defaut=5., ),
+ unit=SIMP(statut= "f", typ = 'TXM', defaut='atomic percent', max=1,),
+)
+)
+
+
+
+
+
+
+
+
+
+
+
+
+
--- /dev/null
+## -*- coding: utf-8 -*-
+#
+## --------------------------------------------------
+## debut entete
+## --------------------------------------------------
+#
+from Accas import *
+from prefs_MAP import PATH_MODULE
+
+#
+#CONTEXT.debug = 1
+JdC = JDC_CATA ( code = 'MAP',
+ execmodul = None,
+ #regles=(AU_MOINS_UN('TABLEAU',),AU_MOINS_UN('BENHUR',), AVANT ('PYGMEE' , 'BENHUR'),),
+ regles=(AU_MOINS_UN('TABLEAU',),AU_MOINS_UN('TRAITEMENT',),A_CLASSER('TABLEAU','TRAITEMENT',)),
+ )# Fin JDC_CATA
+#
+
+TABLEAU= PROC(nom="TABLEAU",op=None,
+ fr='lecture des proprietes a traiter ',
+ FICHIER=SIMP(statut = "o", typ='Fichier',),
+)
+
+TRAITEMENT= PROC(nom="TRAITEMENT",op=None,
+ fr='analyse statistique classique d une des variables du tableau ',
+ TYPE =SIMP(statut='o',typ='TXM',defaut="analyse statistique classique",
+ into=( "analyse statistique classique", "analyse statistique de la qualite","analyse de la dispersion suivant la distance au joint", "analyse de la dispersion suivant la distance a la pointe de fissure","visualisation dans le triangle standard"),),
+ VARIABLE =SIMP(statut='o',typ='TXM',defaut="stress_eq",
+ into=( "stress_eq", "strain_eq","strain_xx","strain_yy","strain_zz"),)
+)
+
## --------------------------------------------------
#
from Accas import *
-from prefs_Map import PATH_MODULE
+from prefs_MAP import PATH_MODULE
#
#CONTEXT.debug = 1
+++ /dev/null
-import os
-
-from Editeur.catadesc import CatalogDescription
-
-# Choix des catalogues
-catalogues = (
- CatalogDescription(identifier = "OPENTURNS_STUDY_V8",
- cata_file_path = os.path.join(os.path.abspath(os.path.dirname(fic_ini)), 'OpenTURNS_Cata_Study_V8.py'),
- file_format = "openturns_study"),
-)
def __init__(self,appli,repIni):\r
#-----------------------------------\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,repIni,'.Eficas_Openturns')\r
- self.INSTALLDIR =os.path.dirname(__file__)\r
\r
- self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc','OpenTURNS_path']\r
- self.labels_eficas=["OpenTURNS_path","rep_user","INSTALLDIR","path_doc","exec_acrobat"]\r
- self.labels_eficas=self.labels_eficas+["rep_cata","initialdir","savedir","catalogues"]\r
- self.cataFile="catalogues_openturns.ini"\r
- self.setValeurs()\r
+ self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc']\r
+ self.labels_eficas=["OpenTURNS_path","path_doc","exec_acrobat"]\r
+ self.labels_eficas=self.labels_eficas+["rep_cata","lang","catalogues"]\r
+ configuration.CONFIG_BASE.__init__(self,appli,repIni,'.Eficas_Openturns')\r
\r
#---------------------------------------\r
def lecture_fichier_ini_standard(self):\r
#---------------------------------------\r
configuration.CONFIG_BASE.lecture_fichier_ini_standard(self)\r
- if hasattr(self,'OpenTURNS_path') :\r
- self.oldOTPath=self.OpenTURNS_path\r
+ if hasattr(self,'OpenTURNS_path') : self.oldOTPath=self.OpenTURNS_path\r
\r
#---------------------------------------\r
- def lecture_fichier_ini_utilisateur(self):\r
+ def lecture_fichier_ini_integrateur(self):\r
#---------------------------------------\r
configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self)\r
if hasattr(self,'OpenTURNS_path') :\r
# Les variables pouvant positionnees sont :
print "import des prefs de OPENTURNS"
-# repIni sert à localiser le fichier
+# repIni sert a localiser le fichier
# initialdir sert comme directory initial des QFileDialog
# positionnee a repin au debut mise a jour dans configuration
repIni=os.path.dirname(os.path.abspath(__file__))
-initialdir=repIni
-
-# INSTALLDIR sert à localiser l'installation d'Eficas
INSTALLDIR=os.path.join(repIni,'..')
+sys.path[:0]=[INSTALLDIR]
# Codage des strings qui accepte les accents (en remplacement de 'ascii')
encoding='iso-8859-1'
# Acces a la documentation
-rep_cata = INSTALLDIR
-path_doc = os.path.join(rep_cata,'Doc')
+path_doc = os.path.join(INSTALLDIR,'Doc')
exec_acrobat = "/usr/bin/xpdf"
savedir = os.environ['HOME']
# OpenTURNS Python module
OpenTURNS_path=""
+if len(OpenTURNS_path) > 0: sys.path[:0]=[OpenTURNS_path]
+
# Choix des catalogues
-if len(OpenTURNS_path) > 0:
- sys.path[:0]=[OpenTURNS_path]
-sys.path[:0]=[INSTALLDIR]
+from Editeur.catadesc import CatalogDescription
+
+catalogues = (
+ CatalogDescription(identifier = "OPENTURNS_STUDY_V8",
+ cata_file_path = os.path.join(os.path.abspath(repIni), 'OpenTURNS_Cata_Study_V8.py'),
+ file_format = "openturns_study"),
+)
+
+++ /dev/null
-import os
-
-from Editeur.catadesc import CatalogDescription
-
-# Choix des catalogues
-catalogues = (
- CatalogDescription(identifier = "OPENTURNS_WRAPPER_V4",
- cata_file_path=os.path.join(os.path.abspath(os.path.dirname(fic_ini)),'OpenTURNS_Cata_Wrapper_V4.py'),
- file_format = "openturns_wrapper"),
-)
def __init__(self,appli,repIni):\r
#-----------------------------------\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,repIni,'.Eficas_Openturns')\r
- self.INSTALLDIR =os.path.dirname(__file__)\r
-\r
- self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc','OpenTURNS_path']\r
- self.labels_eficas=["OpenTURNS_path","rep_user","INSTALLDIR","path_doc","exec_acrobat"]\r
- self.labels_eficas=self.labels_eficas+["rep_cata","initialdir","savedir","catalogues"]\r
- self.cataFile="catalogues_openturns.ini"\r
- self.setValeurs()\r
\r
+ self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc']\r
+ self.labels_eficas=["OpenTURNS_path","path_doc","exec_acrobat"]\r
+ self.labels_eficas=self.labels_eficas+["rep_cata","lang","catalogues"]\r
+ configuration.CONFIG_BASE.__init__(self,appli,repIni,'.Eficas_Openturns')\r
\r
#---------------------------------------\r
def lecture_fichier_ini_standard(self):\r
#---------------------------------------\r
configuration.CONFIG_BASE.lecture_fichier_ini_standard(self)\r
- if hasattr(self,'OpenTURNS_path') :\r
- self.oldOTPath=self.OpenTURNS_path\r
+ if hasattr(self,'OpenTURNS_path') : self.oldOTPath=self.OpenTURNS_path\r
\r
#---------------------------------------\r
- def lecture_fichier_ini_utilisateur(self):\r
+ def lecture_fichier_ini_integrateur(self):\r
#---------------------------------------\r
configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self)\r
if hasattr(self,'OpenTURNS_path') :\r
# Les variables pouvant positionnees sont :
print "import des prefs de OPENTURNS"
-# repIni sert à localiser le fichier
+# repIni sert a localiser le fichier
# initialdir sert comme directory initial des QFileDialog
# positionnee a repin au debut mise a jour dans configuration
repIni=os.path.dirname(os.path.abspath(__file__))
-initialdir=repIni
+INSTALLDIR=os.path.join(repIni,'..')
+sys.path[:0]=[INSTALLDIR]
-# INSTALLDIR sert à localiser l'installation d'Eficas
-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
encoding='iso-8859-1'
# Acces a la documentation
-rep_cata = INSTALLDIR
-path_doc = os.path.join(rep_cata,'Doc')
+path_doc = os.path.join(INSTALLDIR,'Doc')
exec_acrobat = "/usr/bin/xpdf"
savedir = os.environ['HOME']
# OpenTURNS Python module
OpenTURNS_path=""
+if len(OpenTURNS_path) > 0: sys.path[:0]=[OpenTURNS_path]
+
# Choix des catalogues
-if len(OpenTURNS_path) > 0:
- sys.path[:0]=[OpenTURNS_path]
+from Editeur.catadesc import CatalogDescription
+
+catalogues = (
+ CatalogDescription(identifier = "OPENTURNS_WRAPPER_V4",
+ cata_file_path = os.path.join(os.path.abspath(repIni), 'OpenTURNS_Cata_Wrapper_V4.py'),
+ file_format = "openturns_study"),
+)
+
# Les variables pouvant positionnees sont :
print "import des prefs de OPENTURNS"
-# repIni sert à localiser le fichier
+# repIni sert alocaliser le fichier
# initialdir sert comme directory initial des QFileDialog
# positionnee a repin au debut mise a jour dans configuration
repIni=os.path.dirname(os.path.abspath(__file__))
initialdir=repIni
-# INSTALLDIR sert à localiser l'installation d'Eficas
+# INSTALLDIR sert a localiser l'installation d'Eficas
INSTALLDIR=os.path.abspath(os.path.join(repIni,'..'))
sys.path.insert(0,INSTALLDIR)
<ui version="4.0">
<class>ChoixMap</class>
<widget class="QDialog" name="ChoixMap">
+ <property name="windowModality">
+ <enum>Qt::WindowModal</enum>
+ </property>
<property name="geometry">
<rect>
<x>0</x>
<property name="title">
<string>Modules</string>
</property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
<widget class="QRadioButton" name="RBM1">
<property name="text">
<string>oxides</string>
</property>
</widget>
</item>
- <item>
+ <item row="1" column="0">
<widget class="QRadioButton" name="RBM2">
<property name="text">
<string>scc</string>
</property>
</widget>
</item>
- <item>
+ <item row="2" column="0">
<widget class="QRadioButton" name="RBM3">
<property name="text">
<string>concrete</string>
</property>
</widget>
</item>
- <item>
+ <item row="3" column="0">
<widget class="QRadioButton" name="RBM4">
<property name="text">
<string>polycristals</string>
</property>
</widget>
</item>
- <item>
+ <item row="4" column="0">
<widget class="QRadioButton" name="RBM5">
<property name="text">
<string>polymers</string>
</property>
</widget>
</item>
- <item>
+ <item row="5" column="0">
<widget class="QRadioButton" name="RBM6">
<property name="text">
<string>micro</string>
</property>
</widget>
</item>
- <item>
+ <item row="6" column="0">
<widget class="QRadioButton" name="RBM7">
<property name="text">
<string>seal</string>
</property>
</widget>
</item>
- <item>
+ <item row="7" column="0">
<widget class="QRadioButton" name="RBM8">
<property name="text">
<string>mox</string>
</property>
</widget>
</item>
- <item>
+ <item row="8" column="0">
<widget class="QRadioButton" name="RBM9">
<property name="text">
<string>nano</string>
</property>
</widget>
</item>
- <item>
+ <item row="9" column="0">
+ <widget class="QRadioButton" name="RBM12">
+ <property name="text">
+ <string>perfect</string>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0">
<widget class="QRadioButton" name="RBM10">
<property name="text">
<string>insulator</string>
</property>
</widget>
</item>
- <item>
+ <item row="11" column="0">
<widget class="QRadioButton" name="RBM11">
<property name="text">
<string>images</string>
</layout>
</item>
</layout>
- <zorder>PBIconeMap</zorder>
- <zorder>pushButton_3</zorder>
- <zorder>groupBoxScheme</zorder>
- <zorder>groupBoxModule</zorder>
- <zorder>verticalSpacer</zorder>
- <zorder>verticalSpacer_2</zorder>
</widget>
<resources/>
<connections/>