Salome HOME
New access protocol rsync.
[modules/kernel.git] / src / KERNEL_PY / __init__.py
index da81c5ad9877fa9a9d9d3b09ae1e2b754fbf2a02..47b0b2c43beb1f9b88f17f363df43c8bdad70514 100755 (executable)
@@ -1,5 +1,5 @@
 #  -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -7,7 +7,7 @@
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -26,7 +26,7 @@
 #  Module : SALOME
 #
 """ 
-Module salome gives access to Salome ressources.
+Module salome gives access to Salome resources.
 
 variables:
 
@@ -71,7 +71,7 @@ variables:
 
 """
 ## @package salome
-# Module salome gives access to Salome ressources.
+# Module salome gives access to Salome resources.
 #
 #  \param salome.orb             : CORBA orb object
 #  \param salome.naming_service  : instance of naming Service class (SALOME_NamingServicePy::SALOME_NamingServicePy_i)
@@ -192,7 +192,7 @@ def setCurrentStudyId(theStudyId=0):
 salome_initial=1
 def salome_init(theStudyId=0,embedded=0):
     """
-    Performs only once SALOME general purpose intialisation for scripts.
+    Performs only once SALOME general purpose initialisation for scripts.
     optional argument : theStudyId
       When in embedded interpreter inside IAPP, theStudyId is not used
       When used without GUI (external interpreter)
@@ -221,7 +221,7 @@ def salome_init(theStudyId=0,embedded=0):
             salome_initial=0
             sg = salome_iapp_init(embedded)
             orb, lcc, naming_service, cm = salome_kernel_init()
-            myStudyManager, myStudyId, myStudy, myStudyName =salome_study_init(theStudyId)
+            myStudyManager, myStudyId, myStudy, myStudyName = salome_study_init(theStudyId)
             pass
         pass
     except RuntimeError, inst:
@@ -233,18 +233,23 @@ def salome_init(theStudyId=0,embedded=0):
         print """
         ============================================
         May be there is no running SALOME session
-        salome.salome_init() is intented to be used
+        salome.salome_init() is intended to be used
         within an already running session
         ============================================
         """
         raise
-
+    
 def salome_close():
-    global salome_initial
+    global salome_initial, myStudy, myStudyId, myStudyName
+    try:
+        # study can be closed either from GUI or directly with salome.myStudy.Close()
+        myStudy.Close()
+    except:
+        pass
     salome_initial=1
     salome_iapp_close()
-    salome_kernel_close()
     salome_study_close()
+    myStudyId, myStudy, myStudyName=None,None,None
     pass