Salome HOME
updated copyright message
[modules/gui.git] / src / SalomeApp / SalomeApp_PyInterp.cxx
old mode 100755 (executable)
new mode 100644 (file)
index 942aa6d..9c73a22
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  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
 //  Author : Nicolas REJNERI
 
 #include "SalomeApp_PyInterp.h"
+#include "SUIT_ResourceMgr.h"
 
 /*!
   \brief Constructor
 */
-SalomeApp_PyInterp::SalomeApp_PyInterp()
-  : myFirstRun( true ), myFirstInitStudy( false )
+SalomeApp_PyInterp::SalomeApp_PyInterp( SUIT_ResourceMgr* resMgr )
+  : myFirstRun( true ), myFirstInitStudy( false ), myResourceMgr( resMgr )
 {
 }
 
@@ -63,6 +64,12 @@ int SalomeApp_PyInterp::beforeRun()
 {
   if ( myFirstRun ) {
     myFirstRun = false;
+    QStringList parameters = myResourceMgr->parameters( "pythonpath" );
+    foreach ( QString parameter, parameters ) {
+      QStringList paths = myResourceMgr->stringValue( "pythonpath", parameter ).split( ";;" );
+      foreach( QString path, paths )
+        simpleRun( QString( "import sys; sys.path.append('%1')" ).arg( path ).toUtf8().constData(), false );
+    }
     int ret = simpleRun( "from Help import *", false );
     if ( ret )
       return ret;
@@ -72,7 +79,7 @@ int SalomeApp_PyInterp::beforeRun()
     int ret = simpleRun( "import salome", false );
     if ( ret )
       return ret;
-    ret = simpleRun( "salome.salome_init(1)", false );
+    ret = simpleRun( "salome.salome_init(embedded=True)", false );
     if ( ret )
       return ret;
   }