Skip to content

Commit d9cc1e0

Browse files
committed
Use Self in tui
1 parent c4de093 commit d9cc1e0

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

archinstall/tui/menu_item.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from __future__ import annotations
2-
31
from collections.abc import Callable
42
from dataclasses import dataclass, field
53
from enum import Enum
@@ -25,22 +23,22 @@ class MenuItem:
2523
preview_action: Callable[[Any], str | None] | None = None
2624
key: str | None = None
2725

28-
_yes: ClassVar[MenuItem | None] = None
29-
_no: ClassVar[MenuItem | None] = None
26+
_yes: ClassVar[Self | None] = None
27+
_no: ClassVar[Self | None] = None
3028

3129
def get_value(self) -> Any:
3230
assert self.value is not None
3331
return self.value
3432

3533
@classmethod
36-
def yes(cls, action: Callable[[Any], Any] | None = None) -> 'MenuItem':
34+
def yes(cls, action: Callable[[Any], Any] | None = None) -> Self:
3735
if cls._yes is None:
3836
cls._yes = cls(tr('Yes'), value=True, key='yes', action=action)
3937

4038
return cls._yes
4139

4240
@classmethod
43-
def no(cls, action: Callable[[Any], Any] | None = None) -> 'MenuItem':
41+
def no(cls, action: Callable[[Any], Any] | None = None) -> Self:
4442
if cls._no is None:
4543
cls._no = cls(tr('No'), value=False, key='no', action=action)
4644

archinstall/tui/types.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import curses
22
from dataclasses import dataclass
33
from enum import Enum, auto
4+
from typing import Self
45

56
SCROLL_INTERVAL = 10
67

@@ -75,15 +76,15 @@ class FrameProperties:
7576
h_frame_style: FrameStyle = FrameStyle.MAX
7677

7778
@classmethod
78-
def max(cls, header: str) -> 'FrameProperties':
79+
def max(cls, header: str) -> Self:
7980
return cls(
8081
header,
8182
FrameStyle.MAX,
8283
FrameStyle.MAX,
8384
)
8485

8586
@classmethod
86-
def min(cls, header: str) -> 'FrameProperties':
87+
def min(cls, header: str) -> Self:
8788
return cls(
8889
header,
8990
FrameStyle.MIN,

0 commit comments

Comments
 (0)