Skip to content

Commit bea9d28

Browse files
committed
feat: add to ResultErr _check_max_messages
1 parent 0cb7fa2 commit bea9d28

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

ResultContainer/ResultContainer.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,13 @@ def __init__(self, msg="", code=1, error_code_group=1, add_traceback=True, max_m
524524

525525
def _process_message_and_code(self, msg, code, add_traceback=True, _levels=-2):
526526
"""Helper to process messages and codes."""
527+
if isinstance(msg, ResultErr):
528+
self.msg += msg.msg
529+
self.code += msg.code
530+
self.traceback_info += _deepcopy(msg.traceback_info)
531+
self._check_max_messages()
532+
return
533+
527534
if add_traceback and msg != "":
528535
if _levels > -2:
529536
if _levels > -1:
@@ -534,11 +541,8 @@ def _process_message_and_code(self, msg, code, add_traceback=True, _levels=-2):
534541
tb = [line for line in tb if not any(exclude in line for exclude in TRACEBACK_EXCLUDE_FILES)]
535542
else:
536543
tb = []
537-
if isinstance(msg, ResultErr):
538-
self.msg += msg.msg
539-
self.code += msg.code
540-
self.traceback_info += _deepcopy(msg.traceback_info)
541-
elif not isinstance(msg, str) and isinstance(msg, (Sequence, Iterable)):
544+
545+
if not isinstance(msg, str) and isinstance(msg, (Sequence, Iterable)):
542546
dim = len(self.msg)
543547
self.msg += list(map(str.strip, map(str, msg)))
544548
dim = len(self.msg) - dim
@@ -552,6 +556,9 @@ def _process_message_and_code(self, msg, code, add_traceback=True, _levels=-2):
552556
self.code.append(code)
553557
self.traceback_info.append(tb)
554558

559+
self._check_max_messages()
560+
561+
def _check_max_messages(self):
555562
if len(self.msg) > self.max_messages:
556563
self.msg = self.msg[: self.max_messages]
557564
self.code = self.code[: self.max_messages]
@@ -651,9 +658,7 @@ def set_max_messages(self, max_messages):
651658
else:
652659
self.max_messages = max_messages
653660

654-
if len(self.msg) > self.max_messages:
655-
self.msg = self.msg[: self.max_messages]
656-
self.code = self.code[: self.max_messages]
661+
self._check_max_messages()
657662

658663
def copy(self):
659664
"""Return a copy of the ResultErr instance."""

0 commit comments

Comments
 (0)