Spaces:
Paused
Paused
| """Custom element classes related to hyperlinks (CT_Hyperlink).""" | |
| from __future__ import annotations | |
| from typing import TYPE_CHECKING, List | |
| from docx.oxml.simpletypes import ST_OnOff, ST_String, XsdString | |
| from docx.oxml.text.run import CT_R | |
| from docx.oxml.xmlchemy import ( | |
| BaseOxmlElement, | |
| OptionalAttribute, | |
| ZeroOrMore, | |
| ) | |
| if TYPE_CHECKING: | |
| from docx.oxml.text.pagebreak import CT_LastRenderedPageBreak | |
| class CT_Hyperlink(BaseOxmlElement): | |
| """`<w:hyperlink>` element, containing the text and address for a hyperlink.""" | |
| r_lst: List[CT_R] | |
| rId: str | None = OptionalAttribute("r:id", XsdString) # pyright: ignore[reportAssignmentType] | |
| anchor: str | None = OptionalAttribute( # pyright: ignore[reportAssignmentType] | |
| "w:anchor", ST_String | |
| ) | |
| history: bool = OptionalAttribute( # pyright: ignore[reportAssignmentType] | |
| "w:history", ST_OnOff, default=True | |
| ) | |
| r = ZeroOrMore("w:r") | |
| def lastRenderedPageBreaks(self) -> List[CT_LastRenderedPageBreak]: | |
| """All `w:lastRenderedPageBreak` descendants of this hyperlink.""" | |
| return self.xpath("./w:r/w:lastRenderedPageBreak") | |
| def text(self) -> str: # pyright: ignore[reportIncompatibleMethodOverride] | |
| """The textual content of this hyperlink. | |
| `CT_Hyperlink` stores the hyperlink-text as one or more `w:r` children. | |
| """ | |
| return "".join(r.text for r in self.xpath("w:r")) | |