Use Final for Constant Literals in the stdlib (#12332)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
Max Muoto
2024-07-15 12:07:34 -05:00
committed by GitHub
parent 02b05d67c4
commit 0df6028dc8
41 changed files with 569 additions and 572 deletions

View File

@@ -1,4 +1,4 @@
from typing import Literal
from typing import Final
# These are not actually bools. See #4669
NO: bool
@@ -7,74 +7,74 @@ TRUE: bool
FALSE: bool
ON: bool
OFF: bool
N: Literal["n"]
S: Literal["s"]
W: Literal["w"]
E: Literal["e"]
NW: Literal["nw"]
SW: Literal["sw"]
NE: Literal["ne"]
SE: Literal["se"]
NS: Literal["ns"]
EW: Literal["ew"]
NSEW: Literal["nsew"]
CENTER: Literal["center"]
NONE: Literal["none"]
X: Literal["x"]
Y: Literal["y"]
BOTH: Literal["both"]
LEFT: Literal["left"]
TOP: Literal["top"]
RIGHT: Literal["right"]
BOTTOM: Literal["bottom"]
RAISED: Literal["raised"]
SUNKEN: Literal["sunken"]
FLAT: Literal["flat"]
RIDGE: Literal["ridge"]
GROOVE: Literal["groove"]
SOLID: Literal["solid"]
HORIZONTAL: Literal["horizontal"]
VERTICAL: Literal["vertical"]
NUMERIC: Literal["numeric"]
CHAR: Literal["char"]
WORD: Literal["word"]
BASELINE: Literal["baseline"]
INSIDE: Literal["inside"]
OUTSIDE: Literal["outside"]
SEL: Literal["sel"]
SEL_FIRST: Literal["sel.first"]
SEL_LAST: Literal["sel.last"]
END: Literal["end"]
INSERT: Literal["insert"]
CURRENT: Literal["current"]
ANCHOR: Literal["anchor"]
ALL: Literal["all"]
NORMAL: Literal["normal"]
DISABLED: Literal["disabled"]
ACTIVE: Literal["active"]
HIDDEN: Literal["hidden"]
CASCADE: Literal["cascade"]
CHECKBUTTON: Literal["checkbutton"]
COMMAND: Literal["command"]
RADIOBUTTON: Literal["radiobutton"]
SEPARATOR: Literal["separator"]
SINGLE: Literal["single"]
BROWSE: Literal["browse"]
MULTIPLE: Literal["multiple"]
EXTENDED: Literal["extended"]
DOTBOX: Literal["dotbox"]
UNDERLINE: Literal["underline"]
PIESLICE: Literal["pieslice"]
CHORD: Literal["chord"]
ARC: Literal["arc"]
FIRST: Literal["first"]
LAST: Literal["last"]
BUTT: Literal["butt"]
PROJECTING: Literal["projecting"]
ROUND: Literal["round"]
BEVEL: Literal["bevel"]
MITER: Literal["miter"]
MOVETO: Literal["moveto"]
SCROLL: Literal["scroll"]
UNITS: Literal["units"]
PAGES: Literal["pages"]
N: Final = "n"
S: Final = "s"
W: Final = "w"
E: Final = "e"
NW: Final = "nw"
SW: Final = "sw"
NE: Final = "ne"
SE: Final = "se"
NS: Final = "ns"
EW: Final = "ew"
NSEW: Final = "nsew"
CENTER: Final = "center"
NONE: Final = "none"
X: Final = "x"
Y: Final = "y"
BOTH: Final = "both"
LEFT: Final = "left"
TOP: Final = "top"
RIGHT: Final = "right"
BOTTOM: Final = "bottom"
RAISED: Final = "raised"
SUNKEN: Final = "sunken"
FLAT: Final = "flat"
RIDGE: Final = "ridge"
GROOVE: Final = "groove"
SOLID: Final = "solid"
HORIZONTAL: Final = "horizontal"
VERTICAL: Final = "vertical"
NUMERIC: Final = "numeric"
CHAR: Final = "char"
WORD: Final = "word"
BASELINE: Final = "baseline"
INSIDE: Final = "inside"
OUTSIDE: Final = "outside"
SEL: Final = "sel"
SEL_FIRST: Final = "sel.first"
SEL_LAST: Final = "sel.last"
END: Final = "end"
INSERT: Final = "insert"
CURRENT: Final = "current"
ANCHOR: Final = "anchor"
ALL: Final = "all"
NORMAL: Final = "normal"
DISABLED: Final = "disabled"
ACTIVE: Final = "active"
HIDDEN: Final = "hidden"
CASCADE: Final = "cascade"
CHECKBUTTON: Final = "checkbutton"
COMMAND: Final = "command"
RADIOBUTTON: Final = "radiobutton"
SEPARATOR: Final = "separator"
SINGLE: Final = "single"
BROWSE: Final = "browse"
MULTIPLE: Final = "multiple"
EXTENDED: Final = "extended"
DOTBOX: Final = "dotbox"
UNDERLINE: Final = "underline"
PIESLICE: Final = "pieslice"
CHORD: Final = "chord"
ARC: Final = "arc"
FIRST: Final = "first"
LAST: Final = "last"
BUTT: Final = "butt"
PROJECTING: Final = "projecting"
ROUND: Final = "round"
BEVEL: Final = "bevel"
MITER: Final = "miter"
MOVETO: Final = "moveto"
SCROLL: Final = "scroll"
UNITS: Final = "units"
PAGES: Final = "pages"

View File

@@ -1,16 +1,16 @@
import _tkinter
import sys
import tkinter
from typing import Any, Literal, TypedDict, overload
from typing import Any, Final, Literal, TypedDict, overload
from typing_extensions import TypeAlias
if sys.version_info >= (3, 9):
__all__ = ["NORMAL", "ROMAN", "BOLD", "ITALIC", "nametofont", "Font", "families", "names"]
NORMAL: Literal["normal"]
ROMAN: Literal["roman"]
BOLD: Literal["bold"]
ITALIC: Literal["italic"]
NORMAL: Final = "normal"
ROMAN: Final = "roman"
BOLD: Final = "bold"
ITALIC: Final = "italic"
_FontDescription: TypeAlias = (
str # "Helvetica 12"

View File

@@ -1,38 +1,38 @@
import tkinter
from _typeshed import Incomplete
from typing import Any, Literal
from typing import Any, Final
WINDOW: Literal["window"]
TEXT: Literal["text"]
STATUS: Literal["status"]
IMMEDIATE: Literal["immediate"]
IMAGE: Literal["image"]
IMAGETEXT: Literal["imagetext"]
BALLOON: Literal["balloon"]
AUTO: Literal["auto"]
ACROSSTOP: Literal["acrosstop"]
WINDOW: Final = "window"
TEXT: Final = "text"
STATUS: Final = "status"
IMMEDIATE: Final = "immediate"
IMAGE: Final = "image"
IMAGETEXT: Final = "imagetext"
BALLOON: Final = "balloon"
AUTO: Final = "auto"
ACROSSTOP: Final = "acrosstop"
ASCII: Literal["ascii"]
CELL: Literal["cell"]
COLUMN: Literal["column"]
DECREASING: Literal["decreasing"]
INCREASING: Literal["increasing"]
INTEGER: Literal["integer"]
MAIN: Literal["main"]
MAX: Literal["max"]
REAL: Literal["real"]
ROW: Literal["row"]
S_REGION: Literal["s-region"]
X_REGION: Literal["x-region"]
Y_REGION: Literal["y-region"]
ASCII: Final = "ascii"
CELL: Final = "cell"
COLUMN: Final = "column"
DECREASING: Final = "decreasing"
INCREASING: Final = "increasing"
INTEGER: Final = "integer"
MAIN: Final = "main"
MAX: Final = "max"
REAL: Final = "real"
ROW: Final = "row"
S_REGION: Final = "s-region"
X_REGION: Final = "x-region"
Y_REGION: Final = "y-region"
# These should be kept in sync with _tkinter constants, except TCL_ALL_EVENTS which doesn't match ALL_EVENTS
TCL_DONT_WAIT: Literal[2]
TCL_WINDOW_EVENTS: Literal[4]
TCL_FILE_EVENTS: Literal[8]
TCL_TIMER_EVENTS: Literal[16]
TCL_IDLE_EVENTS: Literal[32]
TCL_ALL_EVENTS: Literal[0]
TCL_DONT_WAIT: Final = 2
TCL_WINDOW_EVENTS: Final = 4
TCL_FILE_EVENTS: Final = 8
TCL_TIMER_EVENTS: Final = 16
TCL_IDLE_EVENTS: Final = 32
TCL_ALL_EVENTS: Final = 0
class tixCommand:
def tix_addbitmapdir(self, directory: str) -> None: ...