Salome HOME
Updated copyright comment
[modules/homard.git] / doc / files / tutorial_util.py
index 19f3b53d846785182d0578898dd1ef2614a61e34..25ab640fd4debceceb98ec15f86fdcf9748ba10c 100755 (executable)
@@ -1,5 +1,5 @@
-# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2011-2014  CEA/DEN, EDF R&D
+# -*- coding: utf-8 -*-
+# Copyright (C) 2011-2024  CEA, EDF
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 #
 """
 Python script for HOMARD
-Copyright EDF-R&D 2014
+Copyright EDF 2014, 2018
 """
-__revision__ = "V1.0"
+__revision__ = "V2.02"
 
 import os
 import sys
-#========================================================================
-#========================================================================
+
+PATH_HOMARD = os.getenv('HOMARD_ROOT_DIR')
+# Repertoire des scripts utilitaires
+REP_PYTHON = os.path.join(PATH_HOMARD, "bin", "salome", "test", "HOMARD")
+REP_PYTHON = os.path.normpath(REP_PYTHON)
+sys.path.append(REP_PYTHON)
+from test_util import remove_dir
+
+#
+#========================= Debut de la fonction ==================================
+#
 def gzip_gunzip(data_dir, num_tuto, option) :
   """
-Compression/Uncompression of the med files of a directory such as tutorial_x.nn.med
+Compression/Uncompression of the med(or xao) files of a directory such as tutorial_x.nn.med (or tutorial_x.nn.xao)
 data_dir: directory
 num_tuto: number of the tutorial
 option  : 1: compression, -1: uncompression
@@ -38,14 +47,14 @@ Copyright EDF-R&D 2014
 #
   ficloc_basis = "tutorial_%d" % num_tuto
 #
-  ok = True
+  erreur = 0
   num = -1
 #
 # Uncompression
 #
   if ( option == -1 ) :
 #
-    while ok :
+    while not erreur :
       num += 1
       ficloc = ficloc_basis + ".%02d.med" % num
       nomfic = os.path.join(data_dir, ficloc)
@@ -55,22 +64,23 @@ Copyright EDF-R&D 2014
         if os.path.isfile(nomfic) :
           os.system("gunzip "+nomfic)
         else :
-          ok = False
+          erreur = 1
           break
 #
-    ficloc = ficloc_basis + ".fr.med"
-    nomfic = os.path.join(data_dir, ficloc)
-    if not os.path.isfile(nomfic) :
-      ficloc += ".gz"
+    for suffixe in ( "xao", "fr.med" ) :
+      ficloc = ficloc_basis + "." + suffixe
       nomfic = os.path.join(data_dir, ficloc)
-      if os.path.isfile(nomfic) :
-        os.system("gunzip "+nomfic)
+      if not os.path.isfile(nomfic) :
+        ficloc += ".gz"
+        nomfic = os.path.join(data_dir, ficloc)
+        if os.path.isfile(nomfic) :
+          os.system("gunzip "+nomfic)
 #
 # Compression
 #
   elif ( option == 1 ) :
 #
-    while ok :
+    while not erreur :
       num += 1
       ficloc = ficloc_basis + ".%02d.med.gz" % num
       nomfic = os.path.join(data_dir, ficloc)
@@ -80,18 +90,45 @@ Copyright EDF-R&D 2014
         if os.path.isfile(nomfic) :
           os.system("gzip "+nomfic)
         else :
-          ok = False
+          erreur = 2
           break
 #
-    ficloc = ficloc_basis + ".fr.med.gz"
-    nomfic = os.path.join(data_dir, ficloc)
-    if not os.path.isfile(nomfic) :
-      ficloc = ficloc_basis + ".fr.med"
+    for suffixe in ( "xao", "fr.med" ) :
+      ficloc = ficloc_basis + "." + suffixe + ".gz"
       nomfic = os.path.join(data_dir, ficloc)
-      if os.path.isfile(nomfic) :
-        os.system("gzip "+nomfic)
+      if not os.path.isfile(nomfic) :
+        ficloc = ficloc_basis + ".fr.med"
+        nomfic = os.path.join(data_dir, ficloc)
+        if os.path.isfile(nomfic) :
+          os.system("gzip "+nomfic)
 #
   return
 #
-#========================================================================
-#========================================================================
+#==========================  Fin de la fonction ==================================
+#
+#========================= Debut de la fonction ==================================
+#
+def creation_dircase(num_tuto) :
+  """
+Creation of a directory for the results of tutorial_x
+num_tuto: number of the tutorial
+Copyright EDF-R&D 2014
+  """
+#
+  if "LOGNAME" in os.environ :
+    user = os.environ ["LOGNAME"]
+  else :
+    user = "anonymous"
+  dircase = os.path.join( os.sep, "tmp", "HOMARD_"+user)
+  if not os.path.isdir(dircase) :
+    os.mkdir (dircase)
+  dirtuto_basis = "tutorial_%d" % num_tuto
+  dircase = os.path.join( dircase, dirtuto_basis )
+  if os.path.isdir(dircase) :
+    remove_dir(dircase)
+  os.mkdir (dircase)
+#
+  return dircase
+#
+#==========================  Fin de la fonction ==================================
+#