Skip to content

Fix KeyError cause by referee info widget #3660

@nycrat

Description

@nycrat

Description of the task

Sometimes when running ./tbots.py run thunderscope_main --enable_autoref --ci_mode, opening the referee info widget will cause a KeyError, likely due to trying to access information from the referee messages that is not there (this is the info that populates the referee info table). As a result, the referee info widget's table does not get updated properly, you can check the actual info using the gamecontroller web ui.

===== 2026.03.27 12:03:24 =====
Traceback (most recent call last):
  File "/home/avah/.cache/bazel/_bazel_avah/47de1a9bb6e08f94bbf761a20a0c61b0/execroot/_main/bazel-out/k8-fastbuild/bin/software/thunderscope/thunderscope_main.runfiles/_main/software/thunderscope/thunderscope.py", line 200, in <lambda>
    refresh_timer.timeout.connect(lambda: refresh_func())
                                          ^^^^^^^^^^^^^^
  File "/home/avah/.cache/bazel/_bazel_avah/47de1a9bb6e08f94bbf761a20a0c61b0/execroot/_main/bazel-out/k8-fastbuild/bin/software/thunderscope/thunderscope_main.runfiles/_main/software/thunderscope/thunderscope_types.py", line 132, in refresh
    widget_data.widget.refresh()
  File "/home/avah/.cache/bazel/_bazel_avah/47de1a9bb6e08f94bbf761a20a0c61b0/execroot/_main/bazel-out/k8-fastbuild/bin/software/thunderscope/thunderscope_main.runfiles/_main/software/thunderscope/play/refereeinfo_widget.py", line 67, in refresh
    "Blue": [val["blue"] for val in self.team_info.values()],
             ~~~^^^^^^^^
KeyError: 'blue'

Acceptance criteria

  • Determine cause of why some referee messages don't have the info
  • This KeyError does not occur anymore
  • Referee info widget's table is always being updated

Blocked By

N/A

Metadata

Metadata

Labels

BugIssues that describe a bug and possibly a suggested solutionDifficulty - 3Easy and simple issues that require some context to doThunderscope

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions