Salome HOME
getting access to Python plugin helpers in other modules
authorPaul RASCLE <paul.rascle@edf.fr>
Fri, 8 Jan 2016 13:43:39 +0000 (14:43 +0100)
committerPaul RASCLE <paul.rascle@edf.fr>
Fri, 8 Jan 2016 13:43:39 +0000 (14:43 +0100)
src/SalomeApp/pluginsdemo/CMakeLists.txt
src/SalomeApp/salome_pluginsmanager.py

index 35f8784a67e6a49185a7ffeff2bbdb5e8c9036e9..463b601811e199fb8cab406ed5936ea3eb14dcd4 100755 (executable)
@@ -38,9 +38,12 @@ SET(_plugins_SCRIPTS
   tubebuilder.py
   salome_plugins.py
   smesh_plugins.py
+)
+SET(_helper_SCRIPTS
   xalome.py
 )
 
 # --- rules ---
 
 SALOME_INSTALL_SCRIPTS("${_plugins_SCRIPTS}" ${SALOME_GUI_INSTALL_PLUGINS}/demo DEF_PERMS)
+SALOME_INSTALL_SCRIPTS("${_helper_SCRIPTS}" ${SALOME_INSTALL_PYTHON})
index 10bf174fd58f2c1516df8702721c7e0e32c10d4c..482d9d3ee7205ed1c67fc5809268e7b4cb8b2388 100644 (file)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 # Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 
 """
 This module is imported from C++ SalomeApp_Application and initialized
-(call to initialize function with 4 parameters) module : 0 if it's
-plugins manager at the application level 1 if it is at the module
-level name : the name of the plugins manager. This name is used to
-build the name of the plugins files basemenuname : the name of the
-menu into we want to add the menu of the plugins ("Tools" for example)
-menuname : the name of plugins menu
+(call to initialize function with 4 parameters)
+module :       0 if it is plugins manager at the application level, 1 if it is at the module level
+name :         the name of the plugins manager. This name is used to build the name of the plugins files
+basemenuname : the name of the menu into we want to add the menu of the plugins ("Tools" for example)
+menuname :     the name of plugins menu
 
 A plugins manager is created when calling initialize.
 
@@ -54,8 +54,7 @@ AddFunction.  It is possible to customize this presentation by getting
 the entries list (salome_pluginsmanager.entries()) and modifying it in
 place. For example, you can do that :
 salome_pluginsmanager.entries().sort() to order them alphabetically or
-salome_pluginsmanager.entries().remove("a") to remove the entry named
-"a".
+salome_pluginsmanager.entries().remove("a") to remove the entry named "a".
 
 It is possible to put entries in submenus. You only need to give a
 name with / to the entry. for example::
@@ -276,8 +275,10 @@ class PluginsManager:
           self.entries=[]
           self.lasttime=lasttime
           for directory,plugins_file in plugins_files:
+            logger.debug("look for python path: %s"%directory)
             if directory not in sys.path:
               sys.path.insert(0,directory)
+              logger.debug("The directory %s has been added to PYTHONPATH"%directory)
             try:
               execfile(plugins_file,globals(),{})
             except: