X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FsalomeTools.py;h=a49524b24c465199efc051015dc06bed564dd2f7;hb=c76437f0fb9f7f66bfca0eb10674fbdd3d22ba6c;hp=ec06a1ae1131a51edab21bdda6997e6cf6ae2f98;hpb=3f20e8217ffa24595b9159f87b2e1a692262f6bf;p=tools%2Fsat.git diff --git a/src/salomeTools.py b/src/salomeTools.py index ec06a1a..a49524b 100755 --- a/src/salomeTools.py +++ b/src/salomeTools.py @@ -234,11 +234,14 @@ 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 self.datadir = datadir # default value will be /data self._setCommands(cmdsdir) + DBG.write("Sat.options", self.options, self.options.debug_mode) def getConfig(self): return self.cfg @@ -345,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: @@ -478,23 +480,25 @@ class Sat(object): if res is None: res = 0 - except Exception as e: - # Get error + 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:"), 1) - logger_command.write("\n" + str(e) + "\n\n", 1) - # get stack - __, __, exc_traceback = sys.exc_info() - fp = tempfile.TemporaryFile() - traceback.print_tb(exc_traceback, file=fp) - fp.seek(0) - stack = fp.read() - verbosity = 5 + "salomeTools ERROR: sat %s" % __nameCmd__), 1) + logger_command.write(" *****\n", 1) + print(e.message) if self.options.debug_mode: - verbosity = 1 - logger_command.write("TRACEBACK: %s" % stack.replace('"',"'"), - verbosity) + logger_command.write("\n" + DBG.format_exception("") + "\n", 1) + + except Exception as e: + # 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) + + finally: # set res if it is not set in the command if res is None: @@ -701,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 @@ -712,7 +716,7 @@ def get_help(): ''' msg = "\n" + get_version() + "\n\n" msg += src.printcolors.printcHeader( _("Usage: ") ) + \ - "sat [sat_options] [product] [command_options]\n\n" + "sat [sat_options] [application] [command_options]\n\n" msg += parser.get_help() + "\n"