|
|
|
@@ -19,32 +19,42 @@ |
|
|
|
# SOFTWARE. |
|
|
|
|
|
|
|
|
|
|
|
from typing import TYPE_CHECKING, Any, Callable |
|
|
|
|
|
|
|
from ._base import Node |
|
|
|
|
|
|
|
if TYPE_CHECKING: |
|
|
|
from ..wikicode import Wikicode |
|
|
|
|
|
|
|
__all__ = ["Text"] |
|
|
|
|
|
|
|
|
|
|
|
class Text(Node): |
|
|
|
"""Represents ordinary, unformatted text with no special properties.""" |
|
|
|
|
|
|
|
def __init__(self, value): |
|
|
|
def __init__(self, value: Any): |
|
|
|
super().__init__() |
|
|
|
self.value = value |
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
def __str__(self) -> str: |
|
|
|
return self.value |
|
|
|
|
|
|
|
def __strip__(self, **kwargs): |
|
|
|
return self |
|
|
|
def __strip__(self, **kwargs: Any) -> str: |
|
|
|
return str(self) |
|
|
|
|
|
|
|
def __showtree__(self, write, get, mark): |
|
|
|
def __showtree__( |
|
|
|
self, |
|
|
|
write: Callable[[str], None], |
|
|
|
get: Callable[["Wikicode"], None], |
|
|
|
mark: Callable[[], None], |
|
|
|
) -> None: |
|
|
|
write(str(self).encode("unicode_escape").decode("utf8")) |
|
|
|
|
|
|
|
@property |
|
|
|
def value(self): |
|
|
|
def value(self) -> str: |
|
|
|
"""The actual text itself.""" |
|
|
|
return self._value |
|
|
|
|
|
|
|
@value.setter |
|
|
|
def value(self, newval): |
|
|
|
def value(self, newval: Any) -> None: |
|
|
|
self._value = str(newval) |