[turtle] Use Literal for string params (#14874)

This commit is contained in:
Semyon Moroz
2025-10-14 22:33:25 +04:00
committed by GitHub
parent c8bb44db28
commit d6f4a0f710
+14 -10
View File
@@ -221,16 +221,20 @@ class Terminator(Exception): ...
class TurtleGraphicsError(Exception): ...
class Shape:
def __init__(self, type_: str, data: _PolygonCoords | PhotoImage | None = None) -> None: ...
def __init__(
self, type_: Literal["polygon", "image", "compound"], data: _PolygonCoords | PhotoImage | None = None
) -> None: ...
def addcomponent(self, poly: _PolygonCoords, fill: _Color, outline: _Color | None = None) -> None: ...
class TurtleScreen(TurtleScreenBase):
def __init__(self, cv: Canvas, mode: str = "standard", colormode: float = 1.0, delay: int = 10) -> None: ...
def __init__(
self, cv: Canvas, mode: Literal["standard", "logo", "world"] = "standard", colormode: float = 1.0, delay: int = 10
) -> None: ...
def clear(self) -> None: ...
@overload
def mode(self, mode: None = None) -> str: ...
@overload
def mode(self, mode: str) -> None: ...
def mode(self, mode: Literal["standard", "logo", "world"]) -> None: ...
def setworldcoordinates(self, llx: float, lly: float, urx: float, ury: float) -> None: ...
def register_shape(self, name: str, shape: _PolygonCoords | Shape | None = None) -> None: ...
@overload
@@ -289,7 +293,7 @@ class TNavigator:
DEFAULT_MODE: str
DEFAULT_ANGLEOFFSET: int
DEFAULT_ANGLEORIENT: int
def __init__(self, mode: str = "standard") -> None: ...
def __init__(self, mode: Literal["standard", "logo", "world"] = "standard") -> None: ...
def reset(self) -> None: ...
def degrees(self, fullcircle: float = 360.0) -> None: ...
def radians(self) -> None: ...
@@ -333,11 +337,11 @@ class TNavigator:
seth = setheading
class TPen:
def __init__(self, resizemode: str = "noresize") -> None: ...
def __init__(self, resizemode: Literal["auto", "user", "noresize"] = "noresize") -> None: ...
@overload
def resizemode(self, rmode: None = None) -> str: ...
@overload
def resizemode(self, rmode: str) -> None: ...
def resizemode(self, rmode: Literal["auto", "user", "noresize"]) -> None: ...
@overload
def pensize(self, width: None = None) -> int: ...
@overload
@@ -389,7 +393,7 @@ class TPen:
fillcolor: _Color = ...,
pensize: int = ...,
speed: int = ...,
resizemode: str = ...,
resizemode: Literal["auto", "user", "noresize"] = ...,
stretchfactor: tuple[float, float] = ...,
outline: int = ...,
tilt: float = ...,
@@ -524,7 +528,7 @@ def clear() -> None: ...
@overload
def mode(mode: None = None) -> str: ...
@overload
def mode(mode: str) -> None: ...
def mode(mode: Literal["standard", "logo", "world"]) -> None: ...
def setworldcoordinates(llx: float, lly: float, urx: float, ury: float) -> None: ...
def register_shape(name: str, shape: _PolygonCoords | Shape | None = None) -> None: ...
@overload
@@ -634,7 +638,7 @@ seth = setheading
@overload
def resizemode(rmode: None = None) -> str: ...
@overload
def resizemode(rmode: str) -> None: ...
def resizemode(rmode: Literal["auto", "user", "noresize"]) -> None: ...
@overload
def pensize(width: None = None) -> int: ...
@overload
@@ -683,7 +687,7 @@ def pen(
fillcolor: _Color = ...,
pensize: int = ...,
speed: int = ...,
resizemode: str = ...,
resizemode: Literal["auto", "user", "noresize"] = ...,
stretchfactor: tuple[float, float] = ...,
outline: int = ...,
tilt: float = ...,