File size: 854 Bytes
0a94528
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
29
30
31
32
33
34
import pandas as pd
from typing import List

class ErrorManager:
    def __init__(
        self, 
        path: str,
        str_to_prepend: str="<center><h3>",
        str_to_append: str="</h3></center>"
    ) -> None:

        self.error2text = pd.read_json(path)["errors"]
        self.str_to_prepend = str_to_prepend
        self.str_to_append  = str_to_append

    def __get_text_from_code(
        self, 
        error_info: str
    ) -> str:

        error_code = error_info[0]
        error_args = error_info[1:]
        return str(self.error2text[error_code]).format(*error_args)

    def process(
        self, 
        error_info: List[str],
    ) -> str:

        if not error_info:
            return ""
        
        error = self.__get_text_from_code(error_info=error_info)
        return self.str_to_prepend + error + self.str_to_append