X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=Editeur%2FEficas_utils.py;h=06712372bb06bac01efbd564a9036d4b1f9e2dc6;hb=46610f0b08edf429e88c3715ee8b401c7440ef2c;hp=89c601c594f53c4c63503bc5600d697cbb07f369;hpb=5a28801efd8fd7e6487d1957dabac40b1f932cb4;p=tools%2Feficas.git diff --git a/Editeur/Eficas_utils.py b/Editeur/Eficas_utils.py index 89c601c5..06712372 100644 --- a/Editeur/Eficas_utils.py +++ b/Editeur/Eficas_utils.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2021 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -28,61 +28,60 @@ import codecs,types from Extensions.i18n import tr def substractList(liste1,liste2): - """ - Enleve tous les elements de liste2 presents dans liste1 et retourne liste1 - """ - for item in liste2: - try: - liste1.remove(item) - except: - pass - return liste1 + """ + Enleve tous les elements de liste2 presents dans liste1 et retourne liste1 + """ + for item in liste2: + try: + liste1.remove(item) + except: + pass + return liste1 def getRepUser(dir): - """ - Determine sur quelle plate-forme s'execute Eficas et recherche - le repertoire de l'utilisateur /$home/Eficas_install - """ + """ + Determine sur quelle plate-forme s'execute Eficas et recherche + le repertoire de l'utilisateur /$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 (tr("Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom", rep_user_eficas)) - rep_user_eficas=None - else : - try: - os.mkdir(rep_user_eficas) - except: - print (tr("Creation du repertoire %s impossible\n Verifiez vos droits d'acces", rep_user_eficas)) - return rep_user_eficas + #rep_user_eficas= os.path.join(os.environ['HOME'],dir) + rep_user_eficas= os.path.join(os.path.expanduser("~"),dir) + if os.path.exists(rep_user_eficas): + if os.path.isfile(rep_user_eficas) : + print (tr("Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom", rep_user_eficas)) + rep_user_eficas=None + else : + try: + os.mkdir(rep_user_eficas) + except: + print (tr("Creation du repertoire %s impossible\n Verifiez vos droits d'acces", rep_user_eficas)) + return rep_user_eficas def read_file(file): - """ - ouvre le fichier file et retourne son contenu - si pbe retourne None - """ - try : - f=open(file) - text=f.read() - f.close() - return text - except: - return None + """ + ouvre le fichier file et retourne son contenu + si pbe retourne None + """ + try : + with open(file) as fd : + text=fd.read() + return text + except: + return None def save_in_file(file,text,dir=None): - """ - cree le fichier file (ou l'ecrase s'il existe) et ecrit text dedans - retourne 1 si OK 0 sinon - """ - try : - if dir != None: - os.chdir(dir) - f=open(file,'w') - f.write(text) - f.close() - return 1 - except: - return 0 + """ + cree le fichier file (ou l'ecrase s'il existe) et ecrit text dedans + retourne 1 si OK 0 sinon + """ + try : + if dir != None: + os.chdir(dir) + with open(file) as fd : + fd.write(text) + return 1 + except: + return 0 def extension_fichier(pathAndFile): """ Return ext if path/filename.ext is given """ @@ -93,49 +92,48 @@ def stripPath(pathAndFile): return os.path.split(pathAndFile)[1] def initRep_CataDev(fic_cata,rep_goal): - """ - Initialise le repertoire des catalogues developpeurs (chemin d'acces donne - dans le fichier eficas.ini cad : - - le cree s'il n'existe pas encore - - copie dedans les 3 fichiers necessaires : - * __init__.py (pour que ce repertoire puisse etre interprete comme un package) - * entete.py (pour realiser les import necessaires a l'interpretation des catalogues) - * declaration_concepts.py (idem) - - cree le fichier cata_developpeur.py qui sera par la suite importe - """ - try : - if not os.path.isdir(rep_goal) : - os.mkdir(rep_goal) - #texte_entete = getEnteteCata(fic_cata) - texte_entete="" - # rep_goal doit contenir les catalogues du developpeur sous la forme *.capy - # il faut creer le catalogue developpeur par concatenation de entete,declaration_concepts - # et de tous ces fichiers - cur_dir = os.getcwd() - os.chdir(rep_goal) - l_cata_dev = glob.glob('*.capy') - if os.path.isfile('cata_developpeur.py') : os.remove('cata_developpeur.py') - if len(l_cata_dev) : - # des catalogues developpeurs sont effectivement presents : on cree cata_dev.py dans rep_goal - str = '' - str = str + texte_entete+'\n' - for file in l_cata_dev : - str = str + open(file,'r').read() +'\n' - open('cata_developpeur.py','w+').write(str) - os.chdir(cur_dir) - except: - traceback.print_exc() - print ( tr("Impossible de transferer les fichiers requis dans : %s", str(rep_goal))) + """ + Initialise le repertoire des catalogues developpeurs (chemin d'acces donne + dans le fichier eficas.ini cad : + - le cree s'il n'existe pas encore + - copie dedans les 3 fichiers necessaires : + * __init__.py (pour que ce repertoire puisse etre interprete comme un package) + * entete.py (pour realiser les import necessaires a l'interpretation des catalogues) + * declaration_concepts.py (idem) + - cree le fichier cata_developpeur.py qui sera par la suite importe + """ + try : + if not os.path.isdir(rep_goal) : + os.mkdir(rep_goal) + #texte_entete = getEnteteCata(fic_cata) + texte_entete="" + # rep_goal doit contenir les catalogues du developpeur sous la forme *.capy + # il faut creer le catalogue developpeur par concatenation de entete,declaration_concepts + # et de tous ces fichiers + cur_dir = os.getcwd() + os.chdir(rep_goal) + l_cata_dev = glob.glob('*.capy') + if os.path.isfile('cata_developpeur.py') : os.remove('cata_developpeur.py') + if len(l_cata_dev) : + # des catalogues developpeurs sont effectivement presents : on cree cata_dev.py dans rep_goal + str = '' + str = str + texte_entete+'\n' + for file in l_cata_dev : + str = str + open(file,'r').read() +'\n' + open('cata_developpeur.py','w+').write(str) + os.chdir(cur_dir) + except: + traceback.print_exc() + print ( tr("Impossible de transferer les fichiers requis dans : %s", str(rep_goal))) def getEnteteCata(fic_cata): - """ Retrouve l'entete du catalogue """ - l_lignes = open(fic_cata,'r').readlines() - txt = '' - flag = 0 - for ligne in l_lignes : - if re.match(u"# debut entete",ligne) : flag = 1 - if re.match(u"# fin entete",ligne) : break - if not flag : continue - txt = txt + ligne - return txt - + """ Retrouve l'entete du catalogue """ + l_lignes = open(fic_cata,'r').readlines() + txt = '' + flag = 0 + for ligne in l_lignes : + if re.match(u"# debut entete",ligne) : flag = 1 + if re.match(u"# fin entete",ligne) : break + if not flag : continue + txt = txt + ligne + return txt