From 9f5dd93030c344ea1843f81ca3ec4ebde4a05658 Mon Sep 17 00:00:00 2001 From: Pascale Noyret Date: Tue, 12 May 2009 15:21:56 +0000 Subject: [PATCH] *** empty log message *** --- Editeur/comploader.py | 8 +- Editeur/import_code.py | 9 +- Editeur/listePatrons.py | 3 +- InterfaceQT4/editor.py | 23 ++-- InterfaceQT4/eficas_go.py | 22 +++- InterfaceQT4/qtCommun.py | 2 +- InterfaceQT4/qtEficas.py | 1 + InterfaceQT4/readercata.py | 2 +- Sous_epaisseur/SEP_Cata_V0.py | 33 +++++ Sous_epaisseur/__init__.py | 1 + Sous_epaisseur/catalogues_sep.ini | 9 ++ Sous_epaisseur/configuration.py | 193 ++++++++++++++++++++++++++++++ Sous_epaisseur/editeur.ini | 44 +++++++ Sous_epaisseur/prefs.py | 65 ++++++++++ Sous_epaisseur/properties.py | 24 ++++ Sous_epaisseur/qtEficas_SEP.py | 33 +++++ Sous_epaisseur/sdistSEP.py | 99 +++++++++++++++ Sous_epaisseur/style.py | 66 ++++++++++ 18 files changed, 613 insertions(+), 24 deletions(-) create mode 100644 Sous_epaisseur/SEP_Cata_V0.py create mode 100644 Sous_epaisseur/__init__.py create mode 100644 Sous_epaisseur/catalogues_sep.ini create mode 100644 Sous_epaisseur/configuration.py create mode 100644 Sous_epaisseur/editeur.ini create mode 100644 Sous_epaisseur/prefs.py create mode 100644 Sous_epaisseur/properties.py create mode 100755 Sous_epaisseur/qtEficas_SEP.py create mode 100644 Sous_epaisseur/sdistSEP.py create mode 100644 Sous_epaisseur/style.py diff --git a/Editeur/comploader.py b/Editeur/comploader.py index df7bebfb..ba43dbfb 100644 --- a/Editeur/comploader.py +++ b/Editeur/comploader.py @@ -49,10 +49,10 @@ def charger_composants(Ihm="TK"): repertoire=reper+"/../InterfaceTK" package="InterfaceTK" else : - #repertoire=reper+"/../InterfaceQT4" - #package="InterfaceQT4" - repertoire=reper+"/../InterfaceQT" - package="InterfaceQT" + repertoire=reper+"/../InterfaceQT4" + package="InterfaceQT4" + #repertoire=reper+"/../InterfaceQT" + #package="InterfaceQT" listfich=glob.glob(os.path.join(repertoire, "compo*.py")) for fichier in listfich: m= os.path.basename(fichier)[:-3] diff --git a/Editeur/import_code.py b/Editeur/import_code.py index ce04c848..75960c11 100644 --- a/Editeur/import_code.py +++ b/Editeur/import_code.py @@ -25,14 +25,15 @@ import sys import os +print dir() import prefs INSTALLDIR=prefs.INSTALLDIR sys.path.append(INSTALLDIR) -#sys.path.append(INSTALLDIR+"/UiQT4") -#sys.path.append(INSTALLDIR+"/InterfaceQT4") -sys.path.append(INSTALLDIR+"/Ui") -sys.path.append(INSTALLDIR+"/InterfaceQT") +sys.path.append(INSTALLDIR+"/UiQT4") +sys.path.append(INSTALLDIR+"/InterfaceQT4") +#sys.path.append(INSTALLDIR+"/Ui") +#sys.path.append(INSTALLDIR+"/InterfaceQT") sys.path.append(INSTALLDIR+"/Editeur") # Ce chemin permet d'importer les modules Noyau et Validation diff --git a/Editeur/listePatrons.py b/Editeur/listePatrons.py index f6a8a977..19f81ef5 100644 --- a/Editeur/listePatrons.py +++ b/Editeur/listePatrons.py @@ -5,7 +5,8 @@ sous_menus={"ASTER" : {0:{"3D":"3D.comm"},1:{"poutre":"pou.comm"},2:{"salome":"s "OPENTURNS_STUDY" : {0:{"Anne":"Std.comm"}}, "OPENTURNS_WRAPPER" : {0:{"Anne":"wrapper_exemple.comm"}}, "HOMARD" : {}, - "CUVE2DG" : {} + "CUVE2DG" : {}, + 'SEP' : {} } class listePatrons : diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index 0c16754b..57071890 100644 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -480,8 +480,6 @@ class JDCEditor(QSplitter): if generator.plugins.has_key(format): # Le generateur existe on l'utilise self.generator=generator.plugins[format]() - print format - print self.generator jdc_formate=self.generator.gener(self.jdc,format='beautifie') if not self.generator.cr.estvide(): self.affiche_infos("Erreur à la generation") @@ -572,16 +570,17 @@ class JDCEditor(QSplitter): except : pass - try : - file_homard = fn[:fn.rfind(".")] + '.conf_homard' - self.jdc_homard=self.generator.get_homard() - self.jdc_homard="" - f=open(file_homard,'w') - for ligne in self.jdc_homard: - f.write(ligne) - f.write('\n') - f.close() - except : + + #try : + if 1 : + self.tubePy=self.generator.getTubePy() + fileTube = '/tmp/tube.py' + if self.tubePy != '' : + f=open(fileTube,'w') + f.write(self.tubePy) + f.close() + #except : + else : pass if self.salome : diff --git a/InterfaceQT4/eficas_go.py b/InterfaceQT4/eficas_go.py index e79bea8b..d4e0c6f1 100644 --- a/InterfaceQT4/eficas_go.py +++ b/InterfaceQT4/eficas_go.py @@ -42,7 +42,27 @@ def lance_eficas(code=None,fichier=None): Eficas=Appli(code=code) Eficas.show() - res=app.exec_() sys.exit(res) + +def lance_eficas_ssIhm(code=None,fichier=None): + """ + Lance l'appli EFICAS pour trouver les noms des groupes + """ + # Analyse des arguments de la ligne de commande + options=session.parse(sys.argv) + code=options.code + + app = QApplication(sys.argv) + Eficas=Appli(code=code) + + from ssIhm import QWParentSSIhm + parent=QWParentSSIhm(code,Eficas,'v9.4') + + from readercata import READERCATA + readercata = READERCATA( parent, Eficas ) + + from editor import JDCEditor + monEditeur=JDCEditor(Eficas,"/home/noyret/Eficas_Aster/zz.comm") + print monEditeur.jdc.cherche_Groupes() diff --git a/InterfaceQT4/qtCommun.py b/InterfaceQT4/qtCommun.py index 8134c462..b317169e 100644 --- a/InterfaceQT4/qtCommun.py +++ b/InterfaceQT4/qtCommun.py @@ -137,7 +137,7 @@ class QTPanelTBW2(QTPanel): self.node = node self.BuildLBNouvCommande() self.NbRecherches = 0 - if racine == 1 : + if racine == 1 : self.AppelleBuildLBRegles() else : self.connect(self.TWChoix, SIGNAL("currentChanged(QWidget *)"), self.handleCurrentChanged) diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py index 5ff8180e..b60eac1a 100644 --- a/InterfaceQT4/qtEficas.py +++ b/InterfaceQT4/qtEficas.py @@ -24,6 +24,7 @@ class Appli(Ui_Eficas,QMainWindow): self.salome=salome self.format_fichier="python" #par defaut self.top = self #(pour CONFIGURATION) + self.QWParent=None #(Pour lancement sans IHM) #PN pour Salome ( on passe d un code a l autre) if salome : diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index 3f32b3c6..a35dce25 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -91,7 +91,7 @@ class READERCATA: lab+=QString(" avec le catalogue ") lab+=self.version_code try : - # souci pour les includes + # souci pour les includes et sans Ihm self.appliEficas.setWindowTitle(lab) except : pass diff --git a/Sous_epaisseur/SEP_Cata_V0.py b/Sous_epaisseur/SEP_Cata_V0.py new file mode 100644 index 00000000..5058d078 --- /dev/null +++ b/Sous_epaisseur/SEP_Cata_V0.py @@ -0,0 +1,33 @@ +## -*- coding: utf-8 -*- +# +## -------------------------------------------------- +## debut entete +## -------------------------------------------------- +# +from Accas import * +# +#CONTEXT.debug = 1 +JdC = JDC_CATA ( code = 'SEP', + execmodul = None, + # regles = ( AU_MOINS_UN ( 'M_TUBE','MAILLAGE_COUDE','CHARGE_LIMITE ), ), + regles = ( AU_MOINS_UN ( 'M_TUBE',), ), + ) # Fin JDC_CATA +# + +M_TUBE= MACRO (nom = 'M_TUBE', + op = None, + sd_prod = None, + reentrant = 'n', + UIinfo = {"groupes":("Outils métier",)}, + fr = "Parametres pour Le tube ", + dir_name = SIMP(statut='o', typ='TXM',), + methode = SIMP(statut='o', typ='TXM',into=('generatrices','tortue',),), + PARA_GEOM = FACT( statut='o', + max=1, + r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300), + unite=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), + ep_nominale=SIMP(statut='o', typ='R', defaut=22.000), + ), +) + + diff --git a/Sous_epaisseur/__init__.py b/Sous_epaisseur/__init__.py new file mode 100644 index 00000000..40a96afc --- /dev/null +++ b/Sous_epaisseur/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/Sous_epaisseur/catalogues_sep.ini b/Sous_epaisseur/catalogues_sep.ini new file mode 100644 index 00000000..73053bcc --- /dev/null +++ b/Sous_epaisseur/catalogues_sep.ini @@ -0,0 +1,9 @@ +# Choix des catalogues +import os +#rep_cata=os.path.dirname(os.path.abspath(__file__)) +rep_cata=os.getcwd() + +catalogues = ( + ('SEP','V0',os.path.join(rep_cata,'SEP_Cata_V0.py'),'SEP','SEP'), +) + diff --git a/Sous_epaisseur/configuration.py b/Sous_epaisseur/configuration.py new file mode 100644 index 00000000..def14dc4 --- /dev/null +++ b/Sous_epaisseur/configuration.py @@ -0,0 +1,193 @@ +# -*- 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 +import os, sys, string, types, re +import traceback +from PyQt4.QtGui import * + +# 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/Openturns_Wrapper + # et la directorie de l utilisateur + # HOME/.Eficas_SousEp + # 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 + self.fic_prefs ="prefs.py" + + if self.appli: + self.parent=appli.top + #self.appli.format_fichier="openturns_study" + else: self.parent=None + + + self.labels=("rep_user","INSTALLDIR","path_doc","exec_acrobat","rep_cata","initialdir","savedir") + + # Valeurs par defaut + self.rep_user = os.path.join(os.environ['HOME'],'.Eficas_SousEp') + self.initialdir = self.rep_user + self.path_doc = self.rep_user + self.savedir = self.rep_user + self.exec_acrobat = self.rep_user + + #Lecture des fichiers utilisateurs + self.lecture_fichier_ini_standard() + self.lecture_fichier_ini_utilisateur() + self.lecture_catalogues() + + #-------------------------------------- + def lecture_fichier_ini_standard(self): + #-------------------------------------- + # Verifie l'existence du fichier "standard" + # appelle la lecture de ce fichier + self.fic_ini = os.path.join(self.repIni,self.fic_prefs) + if not os.path.isfile(self.fic_ini): + QMessageBox.critical( None, "Import du fichier de Configuration", + "Erreur à la lecture du fichier de configuration "+self.fic_ini+".py" ) + sys.exit(0) + import prefs + for k in self.labels : + try : + valeur=getattr(prefs,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.fic_prefs) + #if not os.path.isfile(self.fic_ini_utilisateur+".py"): + if not os.path.isfile(self.fic_ini_utilisateur): + return + from utils import read_file + 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 : + try : + setattr(self,k,d[k]) + except : + pass + + + + #-------------------------------------- + def lecture_catalogues(self): + #-------------------------------------- + rep_mat=" " # Compatbilite Aster + fic_cata ="catalogues_sep.ini" + fic_ini = os.path.join(self.repIni,fic_cata) + fic_user= os.path.join(self.rep_user,fic_cata) + if os.path.isfile(fic_user): + fichier = fic_user + else : + fichier = fic_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) + + print fic_cata + from utils import read_file + txt = utils.read_file(fichier) + 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 " + fichier ) + sys.exit(0) + + + + #-------------------------------------- + def save_params(self): + #-------------------------------------- + # sauvegarde + # les nouveaux paramètres dans le fichier de configuration utilisateur + # + print "a ecrire PNPNPN" +# l_param=('exec_acrobat', 'repIni','catalogues','rep_travail','rep_mat','path_doc') +# 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() +# + + +def make_config(appli,rep): + return CONFIG(appli,rep) + +def make_config_style(appli,rep): + return None + + diff --git a/Sous_epaisseur/editeur.ini b/Sous_epaisseur/editeur.ini new file mode 100644 index 00000000..2e57ce3d --- /dev/null +++ b/Sous_epaisseur/editeur.ini @@ -0,0 +1,44 @@ +# 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 + +from Sous_epaisseur import prefs + +rep_cata = os.path.join(prefs.REPINI,'Cata') +print rep_cata + +# 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" +# Répertoire initial +initialdir=os.curdir + +# Choix des catalogues + +catalogues = ( + ('Sous_epaisseur','v1.0',os.path.join(rep_cata,'cataSEP01'),'python'), + ) + diff --git a/Sous_epaisseur/prefs.py b/Sous_epaisseur/prefs.py new file mode 100644 index 00000000..c29caf84 --- /dev/null +++ b/Sous_epaisseur/prefs.py @@ -0,0 +1,65 @@ +# -*- 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,sys + +# REPINI sert à localiser le fichier editeur.ini +# Obligatoire +REPINI=os.path.dirname(os.path.abspath(__file__)) +repIni=REPINI + +# INSTALLDIR sert à localiser l'installation d'Eficas +# Obligatoire +INSTALLDIR=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 + +# la variable code donne le nom du code a selectionner +code="SEP" + +# lang indique la langue utilisée 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' + + +EditeurDir=INSTALLDIR+"/Editeur" +sys.path[:0]=[INSTALLDIR] + +ICONDIR=os.path.join(INSTALLDIR,'Editeur','icons') + +# 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_SEP/prefs.py") + +if os.path.isfile(userprefs): + try: + execfile(userprefs) + except: + pass + diff --git a/Sous_epaisseur/properties.py b/Sous_epaisseur/properties.py new file mode 100644 index 00000000..fc860faf --- /dev/null +++ b/Sous_epaisseur/properties.py @@ -0,0 +1,24 @@ +#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR +# RESPONSABLE D6BHHHH J-P.LEFEBVRE +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR +# DE LA VERSION DU CODE_ASTER ASSOCIE +#---------------------------------------------------------------------- +version = "9.3.0" +date = "11/06/2008" +exploit = False diff --git a/Sous_epaisseur/qtEficas_SEP.py b/Sous_epaisseur/qtEficas_SEP.py new file mode 100755 index 00000000..815529e0 --- /dev/null +++ b/Sous_epaisseur/qtEficas_SEP.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# -*- 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 à lancer EFICAS configuré pour Code_Aster +""" +# Modules Python + +# Modules Eficas +import prefs +from InterfaceQT4 import eficas_go +#from InterfaceQT import eficas_go + +eficas_go.lance_eficas(code=prefs.code) diff --git a/Sous_epaisseur/sdistSEP.py b/Sous_epaisseur/sdistSEP.py new file mode 100644 index 00000000..9dec6f1b --- /dev/null +++ b/Sous_epaisseur/sdistSEP.py @@ -0,0 +1,99 @@ +# -*- coding: utf-8 -*- +""" + Ce module sert à construire les distributions d'EFICAS pour SEP + en fonction du tag CVS courant + Les distributions sont : + - un tar.gz pour UNIX ne contenant pas mxTextTools + L'utilisation de ce module est la suivante : + 1- Se mettre dans un répertoire de travail + 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS + 3- Exporter les sources d'EficasV1 par la commande : + cvs export -r TAG -d Eficas_export EficasV1 + ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) + 5- Aller dans le répertoire Eficas_export + 6- Executer le script sdist.py + python sdist.py + Ce qui a pour effet de creer un repertoire dist contenant la distribution + et de la copier dans le répertoire indiqué par dir_download s'il est accessible + +""" +import os,shutil,glob,sys +import types + +nom_distrib="QTEficasSEP_V1_0" +path_distrib=os.path.join("dist",nom_distrib) +dir_download= "/home/eficas/WWW/telechargement/eficas" + +def main(): + if os.path.isdir('dist'):shutil.rmtree('dist') + + copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) + + copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) + copyfiles('../InterfaceQT4',os.path.join(path_distrib,'InterfaceQT'),['*.py','faqs.txt']) + copyfiles('../UiQT4',os.path.join(path_distrib,'Ui'),['*.ui','makefile']) + copyfiles('../SEP',os.path.join(path_distrib,'Openturns'),['*.py','*.ini']) + copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) + copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) + copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Noyau'),['*.py']) + copyfiles('../Accas',os.path.join(path_distrib,'Validation'),['*.py']) + # AIDE + copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) + copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) + copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) + copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) + # ______________________ + + copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) + copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) + copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) + copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png']) + copyfiles('../Editeur/Patrons/',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) + + copyfiles('../Noyau',os.path.join(path_distrib,'Noyau'),['*.py']) + copyfiles('../Validation',os.path.join(path_distrib,'Validation'),['*.py']) + + + tarball= maketarball('dist',nom_distrib,nom_distrib) + try: + shutil.copy(tarball,dir_download) + except: + print "Repertoire de download inconnu : ",dir_download + + + +def make_dir(dir_cible): + if type(dir_cible) is not types.StringType: + raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` + head,tail=os.path.split(dir_cible) + tails=[tail] + while head and tail and not os.path.isdir(head): + head,tail=os.path.split(head) + tails.insert(0, tail) + + for d in tails: + head = os.path.join(head, d) + if not os.path.isdir(head):os.mkdir(head) + + +def copyfiles(dir_origin,dir_cible,listfiles): + if not os.path.isdir(dir_cible):make_dir(dir_cible) + for glob_files in listfiles: + for file in glob.glob(os.path.join(dir_origin,glob_files)): + shutil.copy(file,dir_cible) + + +def maketarball(dir_trav,dir_cible,nom_tar): + prev=os.getcwd() + print prev + os.chdir(dir_trav) + os.system("tar -cf "+nom_tar+".tar "+dir_cible) + os.system("gzip -f9 "+nom_tar+".tar ") + os.chdir(prev) + return os.path.join(dir_trav,nom_tar+".tar.gz") + + +main() + diff --git a/Sous_epaisseur/style.py b/Sous_epaisseur/style.py new file mode 100644 index 00000000..d4855725 --- /dev/null +++ b/Sous_epaisseur/style.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +""" +Pour modifier le style d'EFICAS il faut ajouter un fichier style.py qui contiendra les +informations sur le style voulu dans son repertoire Eficas_install. + +La methode la plus simple consiste à modifier directement les attributs de l'objet style dans le +fichier style.py d'Eficas_install. Exemple:: + + style.background='yellow' + +pour modifier la couleur du background. + +Il existe une autre méthode qui peut être utilisée quand on veut modifier plusieurs propriétés à la fois. + +Le fichier style.py doit définir une nouvelle classe qui dérive de la classe de base STYLE avec des attributs +de classe qui définiront le nouveau style (par exemple, si on veut modifier le background):: + + class STYLE(STYLE): + background='yellow' + +Il faut ensuite instancier cette classe, dans ce meme fichier, en donnant le nom style à l'objet cree:: + + style=STYLE() + +Tous les attributs de classe possibles sont visibles dans le module Editeur/basestyle.py:: + + background='gray90' + foreground='black' + entry_background='white' + list_background='white' + list_select_background='#00008b' + list_select_foreground='grey' + tooltip_background="yellow" + + standard = ("Helvetica",12) + standard_italique = ("Helvetica",12,'italic') + standard_gras = ("Helvetica",12,'bold') + standard_gras_souligne = ("Helvetica",12,'bold','underline') + + canvas = ('Helvetica',10) + canvas_italique = ('Helvetica',10,'italic') + canvas_gras = ("Helvetica",10,'bold') + canvas_gras_italique = ("Helvetica",12,'bold','italic') + + standard12 = ("Helvetica",14) + standard12_gras = ("Helvetica",14,'bold') + standard12_gras_italique = ( "Helvetica",14,'bold','italic') + + +Le fichier style.py contenu dans le répertoire Aster permet de spécifier des propriétés globales pour une installation. +Les modifications de style contenues dans ce fichier et dans le fichier style.py d'Eficas_install +sont prises en compte dans cet ordre. +""" + +p1=10 +p2=14 +f1="Helvetica" + +style.background='gray90' +style.foreground='black' +style.standard = (f1,p1) +style.standard_italique = (f1,p1,'italic') +style.standard_gras = (f1,p1,'bold') +style.canvas_italique = (f1,p1,'italic') +style.canvas_gras = (f1,p1,'bold') +style.statusfont = (f1,p2) -- 2.39.2