misc: drop typing as T, use builtin generics

Python 3.10 is the minimum, so annotations use `X | None`, `list[X]`
and friends, enforced by ruff's pyupgrade rules. The remaining typing
names are imported directly, with abstract types coming from
collections.abc. first() is now generic over the item and default.
This commit is contained in:
Dash committed 2026-10-17 15:55:55 +02:00
1 parent ada8d5b6ed
commit 0a4358e2b8
40 files changed
+248 -236

No files matched your search

+4 -4
View File
@@ -1,7 +1,7 @@
import argparse
import curses
import datetime
import typing as T
from typing import Any
from pqcli.game_data import GameData
from pqcli.mechanic import Player, SignalMixin, Simulation
@@ -30,7 +30,7 @@ from .task_progress_window import TaskProgressWindow
class GameView(BaseView):
def __init__(
self,
screen: T.Any,
screen: Any,
roster: Roster,
player: Player,
args: argparse.Namespace,
@@ -225,7 +225,7 @@ class GameView(BaseView):
x=0,
)
self._focusable_children: T.List[Focusable] = [
self._focusable_children: list[Focusable] = [
self._char_sheet_win,
self._spell_book_win,
self._equipment_win,
@@ -233,7 +233,7 @@ class GameView(BaseView):
self._plot_win,
self._quest_book_win,
]
self._children: T.List[Widget] = self._focusable_children + [
self._children: list[Widget] = self._focusable_children + [
self._task_win
]
@@ -1,4 +1,4 @@
import typing as T
from typing import Any
from pqcli.mechanic import Player, StatType
from pqcli.ui.curses.widgets import Focusable
@@ -8,7 +8,7 @@ from .progress_bar_window import DataTableProgressBarWindow
class CharacterSheetWindow(Focusable, DataTableProgressBarWindow):
def __init__(
self, player: Player, parent: T.Any, h: int, w: int, y: int, x: int
self, player: Player, parent: Any, h: int, w: int, y: int, x: int
) -> None:
super().__init__(
parent,
@@ -1,4 +1,4 @@
import typing as T
from typing import Any
from pqcli.mechanic import EquipmentType, Player
from pqcli.ui.curses.widgets import DataTable, Focusable, WindowWrapper
@@ -6,7 +6,7 @@ from pqcli.ui.curses.widgets import DataTable, Focusable, WindowWrapper
class EquipmentWindow(Focusable, WindowWrapper):
def __init__(
self, player: Player, parent: T.Any, h: int, w: int, y: int, x: int
self, player: Player, parent: Any, h: int, w: int, y: int, x: int
) -> None:
super().__init__(parent, h, w, y, x)
self._on_focus_change += self._render
@@ -39,7 +39,7 @@ class EquipmentWindow(Focusable, WindowWrapper):
self._render()
def _sync_equipment_change(
self, equipment_type: EquipmentType, item_name: T.Optional[str]
self, equipment_type: EquipmentType, item_name: str | None
) -> None:
self._data_table.set(equipment_type.value, item_name or "")
self._data_table.select(equipment_type.value)
@@ -1,4 +1,4 @@
import typing as T
from typing import Any
from pqcli.mechanic import InventoryItem, Player
from pqcli.ui.curses.widgets import Focusable
@@ -8,7 +8,7 @@ from .progress_bar_window import DataTableProgressBarWindow
class InventoryWindow(Focusable, DataTableProgressBarWindow):
def __init__(
self, player: Player, parent: T.Any, h: int, w: int, y: int, x: int
self, player: Player, parent: Any, h: int, w: int, y: int, x: int
) -> None:
super().__init__(
parent,
@@ -1,4 +1,4 @@
import typing as T
from typing import Any
from pqcli.lingo import act_name
from pqcli.mechanic import Player
@@ -11,7 +11,7 @@ class PlotWindow(Focusable, ListBoxProgressBarWindow):
cutoff = 100
def __init__(
self, player: Player, parent: T.Any, h: int, w: int, y: int, x: int
self, player: Player, parent: Any, h: int, w: int, y: int, x: int
) -> None:
super().__init__(
parent, h, w, y, x, " Plot Development ", show_time=True
@@ -1,5 +1,5 @@
import curses
import typing as T
from typing import Any
from pqcli.ui.curses.widgets import (
DataTable,
@@ -13,7 +13,7 @@ from pqcli.ui.curses.widgets import (
class ProgressBarWindow(WindowWrapper):
def __init__(
self,
parent: T.Any,
parent: Any,
h: int,
w: int,
y: int,
@@ -82,7 +82,7 @@ class ProgressBarWindow(WindowWrapper):
class DataTableProgressBarWindow(ProgressBarWindow):
def __init__(
self,
parent: T.Any,
parent: Any,
h: int,
w: int,
y: int,
@@ -123,7 +123,7 @@ class DataTableProgressBarWindow(ProgressBarWindow):
class ListBoxProgressBarWindow(ProgressBarWindow):
def __init__(
self,
parent: T.Any,
parent: Any,
h: int,
w: int,
y: int,
@@ -1,4 +1,4 @@
import typing as T
from typing import Any
from pqcli.mechanic import Player
from pqcli.ui.curses.widgets import Focusable
@@ -10,7 +10,7 @@ class QuestBookWindow(Focusable, ListBoxProgressBarWindow):
cutoff = 100
def __init__(
self, player: Player, parent: T.Any, h: int, w: int, y: int, x: int
self, player: Player, parent: Any, h: int, w: int, y: int, x: int
) -> None:
super().__init__(parent, h, w, y, x, " Quests ", show_time=True)
self._on_focus_change += self._render
@@ -1,4 +1,4 @@
import typing as T
from typing import Any
from pqcli.lingo import to_roman
from pqcli.mechanic import Player, Spell
@@ -7,7 +7,7 @@ from pqcli.ui.curses.widgets import DataTable, Focusable, WindowWrapper
class SpellBookWindow(Focusable, WindowWrapper):
def __init__(
self, player: Player, parent: T.Any, h: int, w: int, y: int, x: int
self, player: Player, parent: Any, h: int, w: int, y: int, x: int
) -> None:
super().__init__(parent, h, w, y, x)
self._on_focus_change += self._render
@@ -1,4 +1,4 @@
import typing as T
from typing import Any
from pqcli.mechanic import Player
from pqcli.ui.curses.widgets import (
@@ -11,7 +11,7 @@ from pqcli.ui.curses.widgets import (
class TaskProgressWindow(Focusable, WindowWrapper):
def __init__(
self, player: Player, parent: T.Any, h: int, w: int, y: int, x: int
self, player: Player, parent: Any, h: int, w: int, y: int, x: int
) -> None:
super().__init__(parent, h, w, y, x)