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