Skip to content

Commit 03d561b

Browse files
committed
Refactoring: improve attribute processing speed
1 parent 8803255 commit 03d561b

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

pytest_reportportal/service.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -570,10 +570,11 @@ def _process_test_case_id(self, leaf):
570570
:param leaf: item context
571571
:return: Test Case ID string
572572
"""
573-
for marker in leaf['item'].iter_markers():
574-
if marker.name == 'tc_id':
575-
return self._get_test_case_id(marker, leaf)
576-
573+
tc_id = next(
574+
filter(lambda m: m.name == 'tc_id', leaf['item'].iter_markers()),
575+
None)
576+
if tc_id:
577+
return self._get_test_case_id(tc_id, leaf)
577578
return self._get_test_case_id(None, leaf)
578579

579580
def _process_issue(self, item):
@@ -583,9 +584,11 @@ def _process_issue(self, item):
583584
:param item: Pytest.Item
584585
:return: Issue
585586
"""
586-
for marker in item.iter_markers():
587-
if marker.name == 'issue':
588-
return self._get_issue(marker)
587+
issue = next(
588+
filter(lambda m: m.name == 'issue', item.iter_markers()),
589+
None)
590+
if issue:
591+
return self._get_issue(issue)
589592

590593
def _process_attributes(self, item):
591594
"""

0 commit comments

Comments
 (0)