Salome HOME
gestion de path multiples dans la configuration projet
[tools/sat.git] / src / salomeTools.py
index d74ad11122ef877b2bc00c7f5ba1666d166fa240..a49524b24c465199efc051015dc06bed564dd2f7 100755 (executable)
@@ -234,6 +234,8 @@ class Sat(object):
     def setInternals(self, opt=None, datadir=None):
         """set the commands by calling the dedicated function etc..."""
         options, remaindersArgs = parser.parse_args(opt)
+        if options.debug_mode:
+            DBG.push_debug(True)
         self.arguments = opt
         self.options = options # the generic options passed to salomeTools
         self.remaindersArgs = remaindersArgs  # the command and their options
@@ -346,7 +348,6 @@ class Sat(object):
         '''
         # loop on the commands name
         for nameCmd in lCommand:
-            DBG.write("load module command '%s.py'" % nameCmd, "")
             # Exception for the jobs command that requires the paramiko module
             if nameCmd == "jobs":
                 try:
@@ -479,27 +480,24 @@ class Sat(object):
                     if res is None:
                         res = 0
                         
+                except src.SatException as e:
+                    # for sat exception do not display the stack, unless debug mode is set
+                    logger_command.write("\n***** ", 1)
+                    logger_command.write(src.printcolors.printcError(
+                            "salomeTools ERROR: sat %s" % __nameCmd__), 1)
+                    logger_command.write(" *****\n", 1)
+                    print(e.message)
+                    if self.options.debug_mode:
+                        logger_command.write("\n" + DBG.format_exception("") + "\n", 1)
+
                 except Exception as e:
-                    # Get error
+                    # here we print the stack in addition
                     logger_command.write("\n***** ", 1)
                     logger_command.write(src.printcolors.printcError(
                             "salomeTools ERROR: sat %s" % __nameCmd__), 1)
 
                     logger_command.write("\n" + DBG.format_exception("") + "\n", 1)
 
-                    """
-                    # have python 3 problems...
-                    # get stack
-                    __, __, exc_traceback = sys.exc_info()
-                    fp = tempfile.TemporaryFile(mode='wt')
-                    traceback.print_tb(exc_traceback, file=fp)
-                    fp.seek(0)
-                    stack = fp.read()
-                    verbosity = 5
-                    if self.options.debug_mode:
-                        verbosity = 1
-                    logger_command.write("TRACEBACK: %s" % stack.replace('"',"'"), verbosity)
-                    """
 
                 finally:
                     # set res if it is not set in the command
@@ -707,7 +705,7 @@ def get_version():
     cfgManager = CONFIG.ConfigManager()
     cfg = cfgManager.get_config()
     # print the key corresponding to salomeTools version
-    msg = (src.printcolors.printcHeader( _("Version: ") ) + cfg.INTERNAL.sat_version)
+    msg = (src.printcolors.printcHeader( _("Version: ") ) + src.get_salometool_version(cfg))
     return msg
 
 
@@ -718,7 +716,7 @@ def get_help():
     '''
     msg = "\n" + get_version() + "\n\n"
     msg += src.printcolors.printcHeader( _("Usage: ") ) + \
-          "sat [sat_options] <command> [product] [command_options]\n\n"
+          "sat [sat_options] <command> [application] [command_options]\n\n"
 
     msg += parser.get_help() + "\n"