From 97de02c2e8b1c91e8c818adcc090deaf4de041ae Mon Sep 17 00:00:00 2001 From: Giovanni La Mura <giovanni.lamura@inaf.it> Date: Fri, 15 Dec 2023 12:06:57 +0100 Subject: [PATCH] Implement noise detection logic on ratios --- src/scripts/pycompare.py | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/src/scripts/pycompare.py b/src/scripts/pycompare.py index bc22a698..d919a82a 100755 --- a/src/scripts/pycompare.py +++ b/src/scripts/pycompare.py @@ -118,7 +118,7 @@ def compare_files(config): ) l_file.write(" </header>\n") l_file.write(" <body>\n") - l_file.write(" <div>Numeric noise is marked <span style=\"font-weight: bold; color: rgb(0,255,0)\">" + l_file.write(" <div>Numeric noise is marked <span style=\"font-weight: bold; color: rgb(0,185,0)\">" + "GREEN</span>, warnings are marked <span style=\"font-weight: bold; color: rgb(0,0,255)\">" + "BLUE</span> and errors are marked <span style=\"font-weight: bold; color: rgb(255,0,0)\">" + "RED</span>.</div>\n") @@ -183,7 +183,6 @@ def compare_lines(f_line, c_line, config, line_num=0, num_len=1, log_file=None): c_groups.append(ci.group()) if (len(f_groups) == len(c_groups)): - #INDENT severities = mismatch_severities(f_groups, c_groups, config) if log_file is not None: num_format = " <div><pre><code>{0:0%dd}"%num_len @@ -198,7 +197,7 @@ def compare_lines(f_line, c_line, config, line_num=0, num_len=1, log_file=None): log_line = log_line + c_groups[si] + c_line[c_ends[si]:c_starts[si + 1]] elif (severities[si] == 1): log_line = ( - log_line + "</code><span style=\"font-weight: bold; color: rgb(0,255,0)\"><code>" + log_line + "</code><span style=\"font-weight: bold; color: rgb(0,185,0)\"><code>" + c_groups[si] + "</code></span><code>" + c_line[c_ends[si]:c_starts[si + 1]] ) elif (severities[si] == 2): @@ -211,10 +210,13 @@ def compare_lines(f_line, c_line, config, line_num=0, num_len=1, log_file=None): log_line + "</code><span style=\"font-weight: bold; color: rgb(255,0,0)\"><code>" + c_groups[si] + "</code></span><code>" + c_line[c_ends[si]:c_starts[si + 1]] ) - if (len(severities) > 1): + if (len(severities) > 0): + # Single errror test modification if (severities[-1] == 1): noisy += 1 elif (severities[-1] == 2): warnings += 1 - elif (severities[-1] == 3): errors += 1 + elif (severities[-1] == 3): + split_c_line = c_line.split('/') + if (len(split_c_line) != 2): errors += 1 if log_file is not None: if (len(severities) > 0): if (severities[-1] == 0): @@ -223,7 +225,7 @@ def compare_lines(f_line, c_line, config, line_num=0, num_len=1, log_file=None): ) elif (severities[-1] == 1): log_line = ( - log_line + "</code><span style=\"font-weight: bold; color: rgb(0,255,0)\"><code>" + log_line + "</code><span style=\"font-weight: bold; color: rgb(0,185,0)\"><code>" + c_groups[-1] + "</code></span><code>" + c_line[c_ends[-1]:len(c_line) - 2] ) elif (severities[-1] == 2): @@ -232,13 +234,19 @@ def compare_lines(f_line, c_line, config, line_num=0, num_len=1, log_file=None): + c_groups[-1] + "</code></span><code>" + c_line[c_ends[-1]:len(c_line) - 2] ) elif (severities[-1] == 3): - log_line = ( - log_line + "</code><span style=\"font-weight: bold; color: rgb(255,0,0)\"><code>" - + c_groups[-1] + "</code></span><code>" + c_line[c_ends[-1]:len(c_line) - 2] - ) + split_c_line = c_line.split('/') + if (len(split_c_line) == 2): + log_line = ( + log_line + "</code><span style=\"font-weight: bold; color: rgb(0,185,0)\"><code>" + + c_groups[-1] + "</code></span><code>" + c_line[c_ends[-1]:len(c_line) - 2] + ) + else: + log_line = ( + log_line + "</code><span style=\"font-weight: bold; color: rgb(255,0,0)\"><code>" + + c_groups[-1] + "</code></span><code>" + c_line[c_ends[-1]:len(c_line) - 2] + ) log_file.write(log_line + "</code></pre></div>\n") - #END INDENT - else: + else: # The two lines contain a different number of numeric values if (log_file is not None): num_format = " <div><pre><code>{0:0%dd}"%num_len log_line = (num_format + ": ").format(line_num) -- GitLab