(
given_doctext: Optional[str], injecttext: str, pos: int
)
| 2200 | |
| 2201 | |
| 2202 | def inject_docstring_text( |
| 2203 | given_doctext: Optional[str], injecttext: str, pos: int |
| 2204 | ) -> str: |
| 2205 | doctext: str = _dedent_docstring(given_doctext or "") |
| 2206 | lines = doctext.split("\n") |
| 2207 | if len(lines) == 1: |
| 2208 | lines.append("") |
| 2209 | injectlines = textwrap.dedent(injecttext).split("\n") |
| 2210 | if injectlines[0]: |
| 2211 | injectlines.insert(0, "") |
| 2212 | |
| 2213 | blanks = [num for num, line in enumerate(lines) if not line.strip()] |
| 2214 | blanks.insert(0, 0) |
| 2215 | |
| 2216 | inject_pos = blanks[min(pos, len(blanks) - 1)] |
| 2217 | |
| 2218 | lines = lines[0:inject_pos] + injectlines + lines[inject_pos:] |
| 2219 | return "\n".join(lines) |
| 2220 | |
| 2221 | |
| 2222 | _param_reg = re.compile(r"(\s+):param (.+?):") |
no test coverage detected