Skip to content

Commit 2093834

Browse files
authored
Merge pull request #206 from pathsim/fix/param-description-regex
Fix param description regex to handle indented docstrings
2 parents 5d52b2c + 8943ce5 commit 2093834

3 files changed

Lines changed: 6 additions & 3 deletions

File tree

scripts/extract-blocks.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,8 @@ def extract_param_description(docstring: str, param_name: str) -> str:
268268

269269
# Look for parameter in docstring (RST format)
270270
# Pattern: param_name : type\n description
271-
pattern = rf"{param_name}\s*:\s*[^\n]*\n\s+(.+?)(?=\n\w|\n\n|$)"
271+
# Stop at next param (indented or not), blank line, or end
272+
pattern = rf"{param_name}\s*:\s*[^\n]*\n\s+(.+?)(?=\n\s*\w+\s*:|\n\n|$)"
272273
match = re.search(pattern, docstring, re.DOTALL)
273274
if match:
274275
desc = match.group(1).strip()

scripts/extract-events.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ def extract_param_description(docstring: str, param_name: str) -> str:
148148
if not docstring:
149149
return ""
150150

151-
pattern = rf"{param_name}\s*:\s*[^\n]*\n\s+(.+?)(?=\n\w|\n\n|$)"
151+
# Stop at next param (indented or not), blank line, or end
152+
pattern = rf"{param_name}\s*:\s*[^\n]*\n\s+(.+?)(?=\n\s*\w+\s*:|\n\n|$)"
152153
match = re.search(pattern, docstring, re.DOTALL)
153154
if match:
154155
desc = match.group(1).strip()

scripts/pathsim_extractor.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ def extract_param_description(docstring: str, param_name: str) -> str:
7575
if not docstring:
7676
return ""
7777

78-
pattern = rf"{param_name}\s*:\s*[^\n]*\n\s+(.+?)(?=\n\w|\n\n|$)"
78+
# Stop at next param (indented or not), blank line, or end
79+
pattern = rf"{param_name}\s*:\s*[^\n]*\n\s+(.+?)(?=\n\s*\w+\s*:|\n\n|$)"
7980
match = re.search(pattern, docstring, re.DOTALL)
8081
if match:
8182
desc = match.group(1).strip()

0 commit comments

Comments
 (0)