Skip to content

Commit d6f4a0f

Browse files
authored
[turtle] Use Literal for string params (#14874)
1 parent c8bb44d commit d6f4a0f

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

stdlib/turtle.pyi

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -221,16 +221,20 @@ class Terminator(Exception): ...
221221
class TurtleGraphicsError(Exception): ...
222222

223223
class Shape:
224-
def __init__(self, type_: str, data: _PolygonCoords | PhotoImage | None = None) -> None: ...
224+
def __init__(
225+
self, type_: Literal["polygon", "image", "compound"], data: _PolygonCoords | PhotoImage | None = None
226+
) -> None: ...
225227
def addcomponent(self, poly: _PolygonCoords, fill: _Color, outline: _Color | None = None) -> None: ...
226228

227229
class TurtleScreen(TurtleScreenBase):
228-
def __init__(self, cv: Canvas, mode: str = "standard", colormode: float = 1.0, delay: int = 10) -> None: ...
230+
def __init__(
231+
self, cv: Canvas, mode: Literal["standard", "logo", "world"] = "standard", colormode: float = 1.0, delay: int = 10
232+
) -> None: ...
229233
def clear(self) -> None: ...
230234
@overload
231235
def mode(self, mode: None = None) -> str: ...
232236
@overload
233-
def mode(self, mode: str) -> None: ...
237+
def mode(self, mode: Literal["standard", "logo", "world"]) -> None: ...
234238
def setworldcoordinates(self, llx: float, lly: float, urx: float, ury: float) -> None: ...
235239
def register_shape(self, name: str, shape: _PolygonCoords | Shape | None = None) -> None: ...
236240
@overload
@@ -289,7 +293,7 @@ class TNavigator:
289293
DEFAULT_MODE: str
290294
DEFAULT_ANGLEOFFSET: int
291295
DEFAULT_ANGLEORIENT: int
292-
def __init__(self, mode: str = "standard") -> None: ...
296+
def __init__(self, mode: Literal["standard", "logo", "world"] = "standard") -> None: ...
293297
def reset(self) -> None: ...
294298
def degrees(self, fullcircle: float = 360.0) -> None: ...
295299
def radians(self) -> None: ...
@@ -333,11 +337,11 @@ class TNavigator:
333337
seth = setheading
334338

335339
class TPen:
336-
def __init__(self, resizemode: str = "noresize") -> None: ...
340+
def __init__(self, resizemode: Literal["auto", "user", "noresize"] = "noresize") -> None: ...
337341
@overload
338342
def resizemode(self, rmode: None = None) -> str: ...
339343
@overload
340-
def resizemode(self, rmode: str) -> None: ...
344+
def resizemode(self, rmode: Literal["auto", "user", "noresize"]) -> None: ...
341345
@overload
342346
def pensize(self, width: None = None) -> int: ...
343347
@overload
@@ -389,7 +393,7 @@ class TPen:
389393
fillcolor: _Color = ...,
390394
pensize: int = ...,
391395
speed: int = ...,
392-
resizemode: str = ...,
396+
resizemode: Literal["auto", "user", "noresize"] = ...,
393397
stretchfactor: tuple[float, float] = ...,
394398
outline: int = ...,
395399
tilt: float = ...,
@@ -524,7 +528,7 @@ def clear() -> None: ...
524528
@overload
525529
def mode(mode: None = None) -> str: ...
526530
@overload
527-
def mode(mode: str) -> None: ...
531+
def mode(mode: Literal["standard", "logo", "world"]) -> None: ...
528532
def setworldcoordinates(llx: float, lly: float, urx: float, ury: float) -> None: ...
529533
def register_shape(name: str, shape: _PolygonCoords | Shape | None = None) -> None: ...
530534
@overload
@@ -634,7 +638,7 @@ seth = setheading
634638
@overload
635639
def resizemode(rmode: None = None) -> str: ...
636640
@overload
637-
def resizemode(rmode: str) -> None: ...
641+
def resizemode(rmode: Literal["auto", "user", "noresize"]) -> None: ...
638642
@overload
639643
def pensize(width: None = None) -> int: ...
640644
@overload
@@ -683,7 +687,7 @@ def pen(
683687
fillcolor: _Color = ...,
684688
pensize: int = ...,
685689
speed: int = ...,
686-
resizemode: str = ...,
690+
resizemode: Literal["auto", "user", "noresize"] = ...,
687691
stretchfactor: tuple[float, float] = ...,
688692
outline: int = ...,
689693
tilt: float = ...,

0 commit comments

Comments
 (0)