diff --git a/src/apis/jina_cloud.py b/src/apis/jina_cloud.py index 88cef63..020e75e 100644 --- a/src/apis/jina_cloud.py +++ b/src/apis/jina_cloud.py @@ -265,6 +265,10 @@ def shorten_logs(relevant_lines): return relevant_lines +def clean_color_codes(response): + response = re.sub(r'\x1b\[[0-9;]*m', '', response) + return response + def process_error_message(error_message): lines = error_message.split('\n') @@ -284,6 +288,8 @@ def process_error_message(error_message): response = '\n'.join(relevant_lines[-100:]).strip() + response = clean_color_codes(response) + # the following code tests the case that the docker file is corrupted and can not be parsed # the method above will not return a relevant error message in this case # but the last line of the error message will start with "error" diff --git a/test/test_strings.py b/test/test_strings.py new file mode 100644 index 0000000..46a3849 --- /dev/null +++ b/test/test_strings.py @@ -0,0 +1,11 @@ +from src.apis.jina_cloud import clean_color_codes + + +def test_clean_color_codes(): + color_start = f"\033[{31}m" + reset = "\033[0m" + bold_start = "\033[1m" + color = f"{bold_start}{color_start}test{reset}" + cleaned = clean_color_codes(color) + print('with color codes:', color) + print('without color codes:', cleaned) \ No newline at end of file