❯ wordle
╭──────────────── Traceback (most recent call last) ─────────────────╮
│ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/textu │
│ al/widget.py:202 in _get_lines │
│ │
│ 199 │ def _get_lines(self) -> Lines: │
│ 200 │ │ """Get segment lines to render the widget.""" │
│ 201 │ │ if self.render_cache is None: │
│ ❱ 202 │ │ │ self.render_lines() │
│ 203 │ │ assert self.render_cache is not None │
│ 204 │ │ lines = self.render_cache.lines │
│ 205 │ │ return lines │
│ │
│ ╭─────────────── locals ───────────────╮ │
│ │ self = GameStats(name='GameStats#1') │ │
│ ╰──────────────────────────────────────╯ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/textu │
│ al/widget.py:188 in render_lines │
│ │
│ 185 │ │
│ 186 │ def render_lines(self) -> None: │
│ 187 │ │ width, height = self.size │
│ ❱ 188 │ │ renderable = self.render_styled() │
│ 189 │ │ options = self.console.options.update_dimensions(wid │
│ 190 │ │ lines = self.console.render_lines(renderable, option │
│ 191 │ │ self.render_cache = RenderCache(self.size, lines) │
│ │
│ ╭──────────────── locals ────────────────╮ │
│ │ height = 20 │ │
│ │ self = GameStats(name='GameStats#1') │ │
│ │ width = 40 │ │
│ ╰────────────────────────────────────────╯ │
│ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/textu │
│ al/widget.py:128 in render_styled │
│ │
│ 125 │ │ Returns: │
│ 126 │ │ │ RenderableType: A new renderable. │
│ 127 │ │ """ │
│ ❱ 128 │ │ renderable = self.render() │
│ 129 │ │ if self.padding is not None: │
│ 130 │ │ │ renderable = Padding(renderable, self.padding) │
│ 131 │ │ if self.border in self.BOX_MAP: │
│ │
│ ╭─────────────── locals ───────────────╮ │
│ │ self = GameStats(name='GameStats#1') │ │
│ ╰──────────────────────────────────────╯ │
│ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/wordl │
│ e_app.py:86 in render │
│ │
│ 83 │ def render(self) -> RenderableType: │
│ 84 │ │ total_played = self.stats["played"] │
│ 85 │ │ total_win = sum(self.stats["stats"]) │
│ ❱ 86 │ │ num_guesses = len(self.stats["last_guesses"][0]) // │
│ 87 │ │ data = { │
│ 88 │ │ │ "Played": total_played, │
│ 89 │ │ │ "Win %": round(total_win / total_played * 100, 1 │
│ │
│ ╭─────────────────── locals ───────────────────╮ │
│ │ self = GameStats(name='GameStats#1') │ │
│ │ total_played = 0 │ │
│ │ total_win = 0 │ │
│ ╰──────────────────────────────────────────────╯ │
╰────────────────────────────────────────────────────────────────────╯
KeyError: 'last_guesses'
╭──────────────── Traceback (most recent call last) ─────────────────╮
│ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/textu │
│ al/widget.py:202 in _get_lines │
│ │
│ 199 │ def _get_lines(self) -> Lines: │
│ 200 │ │ """Get segment lines to render the widget.""" │
│ 201 │ │ if self.render_cache is None: │
│ ❱ 202 │ │ │ self.render_lines() │
│ 203 │ │ assert self.render_cache is not None │
│ 204 │ │ lines = self.render_cache.lines │
│ 205 │ │ return lines │
│ │
│ ╭─────────────── locals ───────────────╮ │
│ │ self = GameStats(name='GameStats#1') │ │
│ ╰──────────────────────────────────────╯ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/textu │
│ al/widget.py:188 in render_lines │
│ │
│ 185 │ │
│ 186 │ def render_lines(self) -> None: │
│ 187 │ │ width, height = self.size │
│ ❱ 188 │ │ renderable = self.render_styled() │
│ 189 │ │ options = self.console.options.update_dimensions(wid │
│ 190 │ │ lines = self.console.render_lines(renderable, option │
│ 191 │ │ self.render_cache = RenderCache(self.size, lines) │
│ │
│ ╭──────────────── locals ────────────────╮ │
│ │ height = 20 │ │
│ │ self = GameStats(name='GameStats#1') │ │
│ │ width = 40 │ │
│ ╰────────────────────────────────────────╯ │
│ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/textu │
│ al/widget.py:128 in render_styled │
│ │
│ 125 │ │ Returns: │
│ 126 │ │ │ RenderableType: A new renderable. │
│ 127 │ │ """ │
│ ❱ 128 │ │ renderable = self.render() │
│ 129 │ │ if self.padding is not None: │
│ 130 │ │ │ renderable = Padding(renderable, self.padding) │
│ 131 │ │ if self.border in self.BOX_MAP: │
│ │
│ ╭─────────────── locals ───────────────╮ │
│ │ self = GameStats(name='GameStats#1') │ │
│ ╰──────────────────────────────────────╯ │
│ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/wordl │
│ e_app.py:86 in render │
│ │
│ 83 │ def render(self) -> RenderableType: │
│ 84 │ │ total_played = self.stats["played"] │
│ 85 │ │ total_win = sum(self.stats["stats"]) │
│ ❱ 86 │ │ num_guesses = len(self.stats["last_guesses"][0]) // │
│ 87 │ │ data = { │
│ 88 │ │ │ "Played": total_played, │
│ 89 │ │ │ "Win %": round(total_win / total_played * 100, 1 │
│ │
│ ╭─────────────────── locals ───────────────────╮ │
│ │ self = GameStats(name='GameStats#1') │ │
│ │ total_played = 0 │ │
│ │ total_win = 0 │ │
│ ╰──────────────────────────────────────────────╯ │
╰────────────────────────────────────────────────────────────────────╯
KeyError: 'last_guesses'
╭──────────────── Traceback (most recent call last) ─────────────────╮
│ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/textu │
│ al/widget.py:202 in _get_lines │
│ │
│ 199 │ def _get_lines(self) -> Lines: │
│ 200 │ │ """Get segment lines to render the widget.""" │
│ 201 │ │ if self.render_cache is None: │
│ ❱ 202 │ │ │ self.render_lines() │
│ 203 │ │ assert self.render_cache is not None │
│ 204 │ │ lines = self.render_cache.lines │
│ 205 │ │ return lines │
│ │
│ ╭─────────────── locals ───────────────╮ │
│ │ self = GameStats(name='GameStats#1') │ │
│ ╰──────────────────────────────────────╯ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/textu │
│ al/widget.py:188 in render_lines │
│ │
│ 185 │ │
│ 186 │ def render_lines(self) -> None: │
│ 187 │ │ width, height = self.size │
│ ❱ 188 │ │ renderable = self.render_styled() │
│ 189 │ │ options = self.console.options.update_dimensions(wid │
│ 190 │ │ lines = self.console.render_lines(renderable, option │
│ 191 │ │ self.render_cache = RenderCache(self.size, lines) │
│ │
│ ╭──────────────── locals ────────────────╮ │
│ │ height = 20 │ │
│ │ self = GameStats(name='GameStats#1') │ │
│ │ width = 40 │ │
│ ╰────────────────────────────────────────╯ │
│ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/textu │
│ al/widget.py:128 in render_styled │
│ │
│ 125 │ │ Returns: │
│ 126 │ │ │ RenderableType: A new renderable. │
│ 127 │ │ """ │
│ ❱ 128 │ │ renderable = self.render() │
│ 129 │ │ if self.padding is not None: │
│ 130 │ │ │ renderable = Padding(renderable, self.padding) │
│ 131 │ │ if self.border in self.BOX_MAP: │
│ │
│ ╭─────────────── locals ───────────────╮ │
│ │ self = GameStats(name='GameStats#1') │ │
│ ╰──────────────────────────────────────╯ │
│ │
│ /data/data/com.termux/files/usr/lib/python3.10/site-packages/wordl │
│ e_app.py:86 in render │
│ │
│ 83 │ def render(self) -> RenderableType: │
│ 84 │ │ total_played = self.stats["played"] │
│ 85 │ │ total_win = sum(self.stats["stats"]) │
│ ❱ 86 │ │ num_guesses = len(self.stats["last_guesses"][0]) // │
│ 87 │ │ data = { │
│ 88 │ │ │ "Played": total_played, │
│ 89 │ │ │ "Win %": round(total_win / total_played * 100, 1 │
│ │
│ ╭─────────────────── locals ───────────────────╮ │
│ │ self = GameStats(name='GameStats#1') │ │
│ │ total_played = 0 │ │
│ │ total_win = 0 │ │
│ ╰──────────────────────────────────────────────╯ │
╰────────────────────────────────────────────────────────────────────╯
KeyError: 'last_guesses'
/storage/emulated/0/Projects/wordle-tui on main
❯
Python 3.10.2 on Termux
Textual works, but app doesn't