Salome HOME
FIX: padder configuration process for plugin integration RELIQUAT_6x_15112011
authorboulant <boulant>
Thu, 10 Nov 2011 14:36:19 +0000 (14:36 +0000)
committerboulant <boulant>
Thu, 10 Nov 2011 14:36:19 +0000 (14:36 +0000)
adm_local/unix/make_common_starter.am
src/Tools/padder/doc/Makefile.am
src/Tools/padder/spadderpy/configreader.py
src/Tools/padder/spadderpy/plugin/Makefile.am
src/Tools/padder/spadderpy/plugin/smesh_plugins.py

index b772912ec248bc1cd0580770f3b86453221ce194..feb12fc58cb2a23918d8cdacfdd04074dc4e3fe2 100644 (file)
@@ -43,7 +43,7 @@ salomepyexecdir    = $(pyexecdir)/salome
 smeshpypkgdir      = $(salomepythondir)/salome/smesh
 
 # Directory for installing SALOME plugins files
-salomepluginsdir    = $(prefix)/plugins
+salomepluginsdir    = $(prefix)/share/salome/plugins/@MODULE_NAME@
 
 # Directory for installing idl files
 salomeidldir       = $(prefix)/idl/salome
index 3cd551685f8e288acef46c8998b1c06a9e8faad3..fa2d6f82ea32da07dd1af9144b55d50ff361a71b 100755 (executable)
@@ -26,7 +26,7 @@ EXTRA_DIST += images input
 #
 # The simplest way to extend the documentation of SMESH with the
 # documentation for PADDER is to add path to the padder documentation
-# in the SMESH gui documentation
+# in the SMESH gui documentation (see the doxyfile).
 #
 
 # For test purpose, we let the user generate a local dosygen
index 84d87ba9a789e8f94eb761db9f84885ad610b3ef..9fc13cd92a588193d4de578428f8af165a68cff4 100644 (file)
@@ -25,6 +25,8 @@ import ConfigParser
 from MESHJOB import ConfigParameter
 from salome.kernel.uiexception import AdminException, UiException
 
+from salome_pluginsmanager import PLUGIN_PATH_PATTERN
+CONFIG_RELPATH  = os.path.join(PLUGIN_PATH_PATTERN,'smesh')
 CONFIG_FILENAME = "padder.cfg"
 TYPE_LOCAL   = 'local'
 TYPE_REMOTE  = 'remote'
@@ -37,19 +39,25 @@ class ConfigReader:
         # padder plugin. Then, we have to scan the directories
         # specified in the SALOME plugins path.
         self.__configFilename = None
-        pluginspath=os.environ["SALOME_PLUGINS_PATH"]
-        for path in pluginspath.split(":"):
-            filename = os.path.join(path,CONFIG_FILENAME)
-            if os.path.exists(filename):
-                self.__configFilename = filename
-                break
-        if self.__configFilename is None:
-            msg = "The configuration file %s can't be found in SALOME_PLUGINS_PATH"
-            raise AdminException(msg%CONFIG_FILENAME)
+        try:
+            smeshpath=os.environ["SMESH_ROOT_DIR"]
+        except KeyError, ex:
+            raise AdminException("You should define the variable SALOME_PLUGINS_PATH")
+
+        pluginspath = os.path.join(smeshpath,CONFIG_RELPATH)
+        filename    = os.path.join(pluginspath,CONFIG_FILENAME)
+        if os.path.exists(filename):
+            self.__configFilename = filename
+        else:
+            msg = "The configuration file %s can't be found in the SMESH plugins path %s"
+            raise AdminException(msg%(CONFIG_FILENAME,pluginspath))
 
         print "The configuration file is : %s"%self.__configFilename
         self.__configparser = ConfigParser.RawConfigParser()
-        self.__configparser.read(self.__configFilename)
+        try:
+            self.__configparser.read(self.__configFilename)
+        except ConfigParser.ParsingError, ex:
+            raise AdminException(ex.message)
 
     def getLocalConfig(self):
         return self.__getConfig(TYPE_LOCAL)
index 871ef1323bcd730439154d61d8f665c5efc9126a..543204a0f1535607466ec438f1dca74097eae35a 100644 (file)
@@ -8,5 +8,7 @@ include $(top_srcdir)/adm_local/unix/make_common_starter.am
 salomeplugins_PYTHON = \
        smesh_plugins.py
 
-salomeplugins_DATA = \
-       envPlugins.sh
+#salomeplugins_DATA = \
+#      envPlugins.sh
+
+
index cff8607259b9f045fc65ebee9020ee9742fe55a1..9f79eaba8dae5c166428c3d2311b72a5c741b8be 100755 (executable)
@@ -31,8 +31,7 @@ def runSpadderPlugin(context):
         dialog=plugindialog.getDialog()
     except UiException, err:
         from PyQt4.QtGui import QMessageBox
-        QMessageBox.critical(None,
-                             "An error occurs during PADDER configuration",
+        QMessageBox.critical(None,"An error occurs during PADDER configuration",
                              err.getUIMessage())
         return