From: ouv Date: Thu, 30 Apr 2009 07:27:05 +0000 (+0000) Subject: Fix of bug IPAL21005 - Dump/load python script works only with absolute path X-Git-Tag: CCAR_cm3_start X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=ded44b5659d14b27dddce017bd131701137233d6;p=modules%2Fkernel.git Fix of bug IPAL21005 - Dump/load python script works only with absolute path --- diff --git a/src/SALOMEDSImpl/SALOMEDSImpl_Study.cxx b/src/SALOMEDSImpl/SALOMEDSImpl_Study.cxx index 063562ae3..2fa36c294 100644 --- a/src/SALOMEDSImpl/SALOMEDSImpl_Study.cxx +++ b/src/SALOMEDSImpl/SALOMEDSImpl_Study.cxx @@ -1210,13 +1210,24 @@ bool SALOMEDSImpl_Study::DumpStudy(const string& thePath, //set sys.path and add a creation of the study. fp << GetDumpStudyComment() << endl << endl; fp << "import sys" << endl; + fp << "import os.path" << endl; fp << "import " << aBatchModeScript << endl << endl; fp << aBatchModeScript << ".salome_init()" << endl << endl; - fp << _GetNoteBookAccess(); - - fp << "sys.path.insert( 0, \'" << thePath << "\')" << endl << endl; + fp << _GetNoteBookAccess() << endl; + + // IPAL21005 (Dump/load python script works only with absolute path) + // try to use '__file__' to get an absolute path to the generated scripts + // or use the path passed to this method (case of using execfile() command) + fp << "#Get absolute path to generated scripts:" << endl; + fp << "try:" << endl; + fp << " absPath = os.path.dirname(__file__)" << endl; + fp << "except NameError:" << endl; + fp << " absPath = \'" << thePath << "\'" << endl; + fp << " pass" << endl; + fp << "sys.path.insert( 0, absPath )" << endl << endl; + //fp << "sys.path.insert( 0, \'" << thePath << "\')" << endl << endl; //Dump NoteBook Variables fp << _GetStudyVariablesScript();