diff --git a/backend/apps/owasp/models/common.py b/backend/apps/owasp/models/common.py index 0089098858..27ba8dd6b4 100644 --- a/backend/apps/owasp/models/common.py +++ b/backend/apps/owasp/models/common.py @@ -139,7 +139,7 @@ def get_leaders(self): leaders = [] try: for line in content.split("\n"): - leaders.extend(re.findall(r"[-*]\s*\[([^\]]+)\](?:\([^)]*\))?", line)) + leaders.extend(re.findall(r"[-*]\s*\[\s*([^(]+?\S)(?:\s*\([^)]*\))?\s*\]", line)) except AttributeError: logger.exception( "Unable to parse leaders.md content", extra={"URL": self.leaders_md_url} diff --git a/backend/tests/owasp/models/common_test.py b/backend/tests/owasp/models/common_test.py index 987fd6b055..5f2768b1b5 100644 --- a/backend/tests/owasp/models/common_test.py +++ b/backend/tests/owasp/models/common_test.py @@ -16,10 +16,10 @@ class TestRepositoryBasedEntityModel: @pytest.mark.parametrize( ("content", "expected_leaders"), [ - ("* [Leader1](https://example.com)", ["Leader1"]), + ("- [Leader1](https://example.com)", ["Leader1"]), ( - "* [Leader1](https://example.com)\n* [Leader2](https://example.com)", - ["Leader1", "Leader2"], + "* [Leader one (Chapter Lead)](https://example.com)\n* [Leader two (Faculty Advisor)](https://example.com)", + ["Leader one", "Leader two"], ), ("", []), ],