diff --git a/pqcli/random.py b/pqcli/random.py index 61e543c..57eb83e 100644 --- a/pqcli/random.py +++ b/pqcli/random.py @@ -2,8 +2,8 @@ import random import typing as T -def seed(seed: T.Any) -> None: - random.seed(seed) +def seed(source: T.Any) -> None: + random.seed(source) def choice(source: T.Iterable[T.Any]) -> T.Any: diff --git a/pqcli/ui/__init__.py b/pqcli/ui/__init__.py index 4215506..bdc6cab 100644 --- a/pqcli/ui/__init__.py +++ b/pqcli/ui/__init__.py @@ -8,17 +8,6 @@ from pqcli.ui.new_game_view import NewGameView from pqcli.ui.roster_view import RosterView -for key, direction in { - "k": "up", - "j": "down", - "h": "left", - "l": "right", -}.items(): - for key_variant in {key, key.upper()}: - urwid.command_map[key_variant] = f"cursor {direction}" -urwid.command_map["tab"] = f"cursor down" -urwid.command_map["shift tab"] = f"cursor up" - PALETTE: T.List[T.Tuple[str, str, str]] = [ ("button", "", ""), ("button-focus", "light red", "black"), @@ -29,8 +18,23 @@ PALETTE: T.List[T.Tuple[str, str, str]] = [ ] +def bind_commands() -> None: + for key, direction in { + "k": "up", + "j": "down", + "h": "left", + "l": "right", + }.items(): + for key_variant in {key, key.upper()}: + urwid.command_map[key_variant] = f"cursor {direction}" + urwid.command_map["tab"] = f"cursor down" + urwid.command_map["shift tab"] = f"cursor up" + + class Ui: def __init__(self, roster: Roster) -> None: + bind_commands() + self.roster = roster self.loop = urwid.MainLoop( None, PALETTE, unhandled_input=self.unhandled_input @@ -57,7 +61,6 @@ class Ui: def switch_to_roster_view(self) -> None: self.loop.widget = RosterView( self.roster, - self.loop, on_exit=self.switch_to_exit_view, on_new_game=self.switch_to_new_game_view, on_resume_game=self.switch_to_game_view, @@ -76,7 +79,7 @@ class Ui: ) def switch_to_game_view(self, player_name: str) -> None: - ... + raise NotImplementedError("not implemented") def exit(self) -> None: raise urwid.ExitMainLoop() diff --git a/pqcli/ui/exit_view.py b/pqcli/ui/exit_view.py index 3678b96..eebd1ff 100644 --- a/pqcli/ui/exit_view.py +++ b/pqcli/ui/exit_view.py @@ -2,7 +2,6 @@ import typing as T import urwid -from pqcli.mechanic import Roster from pqcli.ui.button import MenuButton diff --git a/pqcli/ui/line_box.py b/pqcli/ui/line_box.py index d6a9e7d..6651d4f 100644 --- a/pqcli/ui/line_box.py +++ b/pqcli/ui/line_box.py @@ -15,4 +15,4 @@ class LineBox(urwid.AttrWrap): ), "linebox", "linebox-focus", - ), + ) diff --git a/pqcli/ui/new_game_view.py b/pqcli/ui/new_game_view.py index ae8b0e4..24d840e 100644 --- a/pqcli/ui/new_game_view.py +++ b/pqcli/ui/new_game_view.py @@ -5,7 +5,7 @@ import urwid import urwid_readline from pqcli.config import CLASSES, PRIME_STATS, RACES -from pqcli.mechanic import Stats, StatsBuilder, generate_name +from pqcli.mechanic import StatsBuilder, generate_name from pqcli.ui.button import MenuButton from pqcli.ui.line_box import LineBox diff --git a/pqcli/ui/roster_view.py b/pqcli/ui/roster_view.py index b0e593b..68b61c3 100644 --- a/pqcli/ui/roster_view.py +++ b/pqcli/ui/roster_view.py @@ -10,7 +10,6 @@ class RosterView(urwid.Filler): def __init__( self, roster: Roster, - loop: urwid.MainLoop, on_new_game: T.Callable, on_resume_game: T.Callable, on_exit: T.Callable,