diversion_rules: Add type hints

This commit is contained in:
MattHag 2024-10-06 21:04:22 +02:00 committed by Peter F. Patel-Schneider
parent 97d1e90ceb
commit d1f9b9ca3d
1 changed files with 8 additions and 6 deletions

View File

@ -14,6 +14,8 @@
## with this program; if not, write to the Free Software Foundation, Inc., ## with this program; if not, write to the Free Software Foundation, Inc.,
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from __future__ import annotations
import dataclasses import dataclasses
import logging import logging
import string import string
@ -994,21 +996,21 @@ class DeviceInfo:
self.unitId = "" self.unitId = ""
@property @property
def id(self): def id(self) -> str:
return self.serial or self.unitId or "" return self.serial or self.unitId or ""
@property @property
def identifiers(self): def identifiers(self) -> list[str]:
return [id for id in (self.serial, self.unitId) if id] return [id for id in (self.serial, self.unitId) if id]
@property @property
def display_name(self): def display_name(self) -> str:
return f"{self.codename} ({self.id})" return f"{self.codename} ({self.id})"
def matches(self, search): def matches(self, search: str) -> bool:
return search and search in (self.serial, self.unitId, self.display_name) return search and search in (self.serial, self.unitId, self.display_name)
def update(self, device): def update(self, device: DeviceInfo) -> None:
for k in ("serial", "unitId", "codename", "settings"): for k in ("serial", "unitId", "codename", "settings"):
if not getattr(self, k, None): if not getattr(self, k, None):
v = getattr(device, k, None) v = getattr(device, k, None)
@ -1854,7 +1856,7 @@ def update_devices():
_diversion_dialog.update_devices() _diversion_dialog.update_devices()
def show_window(model): def show_window(model: Gtk.TreeStore):
GObject.type_register(RuleComponentWrapper) GObject.type_register(RuleComponentWrapper)
global _diversion_dialog global _diversion_dialog
global _dev_model global _dev_model