# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2021 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
#--------------------------------------------------------------------------
def openStudy(theStudyPath):
- print("openStudy")
+ if verbose(): print("openStudy (begin)")
global myStudy, myStudyName
myStudy.Open(theStudyPath)
myStudyName = myStudy._get_Name()
- print(theStudyPath, myStudy._get_Name())
+ if verbose(): print("openStudy (end):", theStudyPath, myStudy._get_Name())
+
+ #--------------------------------------------------------------------------
+
+def salome_study_init_without_session(theStudyPath=None):
+ """
+ Performs only once study creation or connection.
+ optional argument : theStudyPath
+ None : attach to the currently active single study;
+ create new empty study if there is active study
+ <URL> (str) : open study with the given file name
+ """
+ global myStudy, myStudyName
+ global orb, lcc, naming_service, cm
+
+ if verbose(): print("theStudyPath:", theStudyPath)
+ if not myStudy:
+ import CORBA
+ orb = CORBA.ORB_init([''])
+
+ # get Study reference
+ if verbose(): print("looking for study...")
+ import KernelDS
+ myStudy = KernelDS.myStudy()
+ if verbose(): print("Study found")
+ pass
+
+ import types
+ if theStudyPath and isinstance(theStudyPath, (str, bytes)):
+ if isinstance(theStudyPath, bytes):
+ theStudyPath = str(theStudyPath, 'UTF8')
+ openStudy(theStudyPath)
+ else:
+ myStudy.Init()
+
+ myStudyName = myStudy._get_Name()
+
+ return myStudy, myStudyName
#--------------------------------------------------------------------------
if verbose(): print("theStudyPath:", theStudyPath)
if not myStudy:
- orb, lcc, naming_service, cm = salome_kernel.salome_kernel_init()
+ orb, lcc, naming_service, cm, _, _, _ = salome_kernel.salome_kernel_init()
# get Study reference
if verbose(): print("looking for study...")
if isinstance(theStudyPath, bytes):
theStudyPath = str(theStudyPath, 'UTF8')
openStudy(theStudyPath)
+ else:
+ myStudy.Init()
myStudyName = myStudy._get_Name()
return myStudy, myStudyName
+
+def salome_study_close():
+ global myStudy, myStudyName
+ myStudy, myStudyName = None, None