From e33c7b020f09cc9c8ef6ae423a9524981e135f29 Mon Sep 17 00:00:00 2001 From: Tobias Meisel <tobias.meisel@ufz.de> Date: Wed, 27 Mar 2024 14:03:37 +0100 Subject: [PATCH] [logparser] Providing regexes to parse_file is optional --- ogstools/logparser/log_parser.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ogstools/logparser/log_parser.py b/ogstools/logparser/log_parser.py index f0f1e18f2..64db56bb0 100644 --- a/ogstools/logparser/log_parser.py +++ b/ogstools/logparser/log_parser.py @@ -80,7 +80,7 @@ def parse_file( file_name: Union[str, Path], maximum_lines: Optional[int] = None, force_parallel: bool = False, - ogs_res: Callable = ogs_regexes, + ogs_res: Optional[list] = None, ) -> list[Any]: """ Parses a log file from OGS, applying regex patterns to extract specific information, @@ -109,11 +109,14 @@ def parse_file( process_regex = "" try_match = _try_match_serial_line - def compile_re_fn(mpi_process_regex): + def compile_re_fn(mpi_process_regex: str) -> Callable[[str], re.Pattern]: return lambda regex: re.compile(mpi_process_regex + regex) compile_re = compile_re_fn(process_regex) - patterns = [(compile_re(k), v) for k, v in ogs_res()] + + if ogs_res is None: + ogs_res = ogs_regexes() + patterns = [(compile_re(k), v) for k, v in ogs_res] number_of_lines_read = 0 with file_name.open() as file: -- GitLab