File size: 1,011 Bytes
6fcd376
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import re 

SITE_PKG_ERROR_PREFIX = 'File /usr/local/lib/python3.8/'

def get_error_header(traceback_str):
    lines = traceback_str.split('\n')
    for line in lines:
        if 'Error:' in line:
            return line
    return ''  # Return None if no error message is found

def clean_error_msg(error_str:str =''):
    filtered_error_msg = error_str.__str__().split('An error occurred while executing the following cell')[-1].split("\n------------------\n")[-1]
    raw_error_msg = "".join(filtered_error_msg)

    # Remove escape sequences for colored text
    ansi_escape = re.compile(r'\x1b\[[0-?]*[ -/]*[@-~]')
    error_msg = ansi_escape.sub('', raw_error_msg)
    
    error_str_out = ''
    error_msg_only_cell = error_msg.split(SITE_PKG_ERROR_PREFIX)

    error_str_out += f'{error_msg_only_cell[0]}\n'
    error_header = get_error_header(error_msg_only_cell[-1])
    if error_header not in error_str_out:
        error_str_out += get_error_header(error_msg_only_cell[-1])

    return error_str_out