Add core Python agent with configuration management, environment setup, and deployment documentation. Includes user/agent profiles, startup scripts, and dependency management for the psagentia system.
46 lines
1.4 KiB
Python
Executable File
46 lines
1.4 KiB
Python
Executable File
"""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")
|
|
|
|
@property
|
|
def lastRenderedPageBreaks(self) -> List[CT_LastRenderedPageBreak]:
|
|
"""All `w:lastRenderedPageBreak` descendants of this hyperlink."""
|
|
return self.xpath("./w:r/w:lastRenderedPageBreak")
|
|
|
|
@property
|
|
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"))
|