X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=commands%2Flog.py;h=5ecf7028b9c9309054348fbf89a799b15217d683;hb=fe93dec3df59f9238c50e52cce21d939fa4ccc1c;hp=d8def14303da1197ca3abf5f33a2a00c8714a310;hpb=a73105d0c22ff213d31a6502a0b4cf1b77bb754a;p=tools%2Fsat.git diff --git a/commands/log.py b/commands/log.py index d8def14..5ecf702 100644 --- a/commands/log.py +++ b/commands/log.py @@ -34,20 +34,18 @@ import src # Define all possible option for log command : sat log parser = src.options.Options() -parser.add_option('t', 'terminal', 'boolean', 'terminal', "Optional: " - "Terminal log.") -parser.add_option('l', 'last', 'boolean', 'last', "Show the log of the last " - "Optional: launched command.") -parser.add_option('', 'last_terminal', 'boolean', 'last_terminal', "Show the " - "log of the last compilations" - "Optional: launched command.") -parser.add_option('f', 'full', 'boolean', 'full', "Optional: Show the logs of " - "ALL the launched commands.") -parser.add_option('c', 'clean', 'int', 'clean', "Optional: Erase the n most " - "ancient log files.") -parser.add_option('n', 'no_browser', 'boolean', 'no_browser', "Optional: Do not" - " launch the browser at the end of the command. Only update " - "the hat file.") +parser.add_option('t', 'terminal', 'boolean', 'terminal', + "Optional: Show the log (in terminal) of a command, with user choice.") +parser.add_option('l', 'last', 'boolean', 'last', + "Optional: Show the log (in browser) of the last launched command.") +parser.add_option('', 'last_terminal', 'boolean', 'last_terminal', + "Optional: Show the log (in terminal) of the last launched command.") +parser.add_option('f', 'full', 'boolean', 'full', + "Optional: Show the logs of ALL the launched commands.") +parser.add_option('c', 'clean', 'int', 'clean', + "Erase the n most ancient log files.") +parser.add_option('n', 'no_browser', 'boolean', 'no_browser', + "Optional: Do not launch the browser at the end of the command. Only update the hat file.") def get_last_log_file(logDir, notShownCommands): '''Used in case of last option. Get the last log command file path. @@ -206,9 +204,9 @@ def run(args, runner, logger): # Parse the options (options, args) = parser.parse_args(args) - # get the log directory. + # get the log directory. logDir = src.get_log_path(runner.cfg) - + # Print a header nb_files_log_dir = len(glob.glob(os.path.join(logDir, "*"))) info = [("log directory", logDir), @@ -263,24 +261,29 @@ def run(args, runner, logger): # copy the stylesheets in the log directory # OP We use copy instead of copy2 to update the creation date # So we can clean the LOGS directories easily - shutil.copy(xslCommand, logDir) - shutil.copy(xslHat, logDir) - src.ensure_path_exists(os.path.join(logDir, "TEST")) - shutil.copy(xsltest, os.path.join(logDir, "TEST")) - shutil.copy(imgLogo, logDir) + try: + src.ensure_path_exists(logDir) + shutil.copy(xslCommand, logDir) + shutil.copy(xslHat, logDir) + src.ensure_path_exists(os.path.join(logDir, "TEST")) + shutil.copy(xsltest, os.path.join(logDir, "TEST")) + shutil.copy(imgLogo, logDir) + except: + # we are here if an user make sat log in jenkins LOGS without write rights + # Make a warning and do nothing + logger.warning("problem for writing in directory '%s', may be not owner." % logDir) # If the last option is invoked, just, show the last log file if options.last_terminal: src.check_config_has_application(runner.cfg) - log_dirs = os.listdir(os.path.join(runner.cfg.APPLICATION.workdir, - 'LOGS')) + log_dirs = os.listdir(os.path.join(runner.cfg.APPLICATION.workdir, 'LOGS')) show_last_logs(logger, runner.cfg, log_dirs) return 0 # If the last option is invoked, just, show the last log file if options.last: lastLogFilePath = get_last_log_file(logDir, - notShownCommands + ["config"]) + notShownCommands + ["config"]) if options.terminal: # Show the log corresponding to the selected command call print_log_command_in_terminal(lastLogFilePath, logger) @@ -328,14 +331,22 @@ def run(args, runner, logger): # Create or update the hat xml that gives access to all the commands log files logger.write(_("Generating the hat log file (can be long) ... "), 3) xmlHatFilePath = os.path.join(logDir, 'hat.xml') - src.logger.update_hat_xml(logDir, + try: + src.logger.update_hat_xml(logDir, application = runner.cfg.VARS.application, notShownCommands = notShownCommands) - logger.write(src.printcolors.printc("OK"), 3) + + logger.write(src.printcolors.printc("OK"), 3) + except: + logger.write(src.printcolors.printc("KO"), 3) + logger.write(" problem update hat.xml", 3) + logger.write("\n", 3) # open the hat xml in the user editor if not options.no_browser: - logger.write(_("\nOpening the log file\n"), 3) + logger.write(_("\nOpening the hat log file %s\n" % xmlHatFilePath), 3) src.system.show_in_editor(runner.cfg.USER.browser, xmlHatFilePath, logger) + else: + logger.write("\nHat log File is %s\n" % xmlHatFilePath, 3) return 0