Salome HOME
Mise a niveau avec 6.3.14
[tools/eficas.git] / Editeur / utils.py
1 #            CONFIGURATION MANAGEMENT OF EDF VERSION
2 # ======================================================================
3 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
4 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7 # (AT YOUR OPTION) ANY LATER VERSION.
8 #
9 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13 #
14 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
16 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
17 #
18 #
19 # ======================================================================
20 """
21     Ce module contient des utilitaires divers
22 """
23 import os
24
25 def substract_list(liste1,liste2):
26   """ 
27       Enlève tous les éléments de liste2 présents dans liste1 et retourne liste1
28   """
29   for item in liste2:
30     try:
31       liste1.remove(item)
32     except:
33       pass
34   return liste1
35
36 def get_rep_user():
37   """
38       Détermine sur quelle plate-forme s'exécute Eficas et recherche
39       le répertoire de l'utilisateur /$home/Eficas_install
40   """
41   if os.name not in ('posix','nt'):
42     print "Système non reconnu par Eficas"
43     print "Prévenir la maintenance"
44     sys.exit(0)
45   if os.name == 'nt':
46     try:
47       drive = os.environ['HOMEDRIVE']
48       nom_user = os.environ['USERNAME']
49       rep_user_eficas = drive+'\\'+nom_user+'\\'+'Eficas_install'
50     except:
51       rep_user_eficas = os.path.join('C:','Eficas_install')
52   else :
53     rep_user_eficas = os.path.join(os.environ['HOME'],'Eficas_install')
54   if os.path.exists(rep_user_eficas):
55     if os.path.isfile(rep_user_eficas) :
56       print "Un fichier de nom %s existe déjà : impossible de créer un répertoire de même nom" %rep_user_eficas
57       sys.exit(0)
58   else :
59     try:
60       os.mkdir(rep_user_eficas)
61     except:
62       print "Création du répertoire %s impossible\n Vérifiez vos droits d'accès" %rep_user_eficas
63   return rep_user_eficas
64
65 def read_file(file):
66   """
67       ouvre le fichier file et retourne son contenu
68       si pbe retourne None
69   """
70   try :
71     f=open(file)
72     text=f.read()
73     f.close()
74     return text
75   except:
76     return None
77
78 def save_in_file(file,text):
79   """
80       crée le fichier file (ou l'écrase s'il existe) et écrit text dedans
81       retourne 1 si OK 0 sinon
82   """
83   try :
84     f=open(file,'w+')
85     f.write(text)
86     f.close()
87     return 1
88   except:
89     return 0
90
91 def extension(pathAndFile):
92     """ Return ext if path/filename.ext is given """
93     return os.path.splitext(pathAndFile)[1][1:]
94
95 def stripPath(pathAndFile):
96     """ Return filename.ext if path/filename.ext is given """
97     return os.path.split(pathAndFile)[1]
98