From 428a06b51f8cb33b436b6d3501d3e522afcfa235 Mon Sep 17 00:00:00 2001 From: Nathaniel Russell Date: Wed, 6 Mar 2024 04:14:39 +0000 Subject: [PATCH] Allow Secrets to work with python3.9 - /gsecrets/attributes_model.py - /gsecrets/safe_element.py --- gsecrets/attributes_model.py | 8 ++++++-- gsecrets/safe_element.py | 31 +++++++++++++------------------ 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/gsecrets/attributes_model.py b/gsecrets/attributes_model.py index f74fe6db8..1b2a15997 100644 --- a/gsecrets/attributes_model.py +++ b/gsecrets/attributes_model.py @@ -40,7 +40,10 @@ class AttributesModel(GObject.Object, Gio.ListModel): def do_get_item_type(self): return Attribute.__gtype__ # pylint: disable=no-member - def get(self, key: str) -> str | None: +from typing import Union + +class YourClass: + def get(self, key: str) -> Union[str, None]: return self._inner.get(key) def _get_pos(self, key: str) -> int: @@ -57,7 +60,8 @@ class AttributesModel(GObject.Object, Gio.ListModel): self._inner[key] = Attribute(key, value) self.items_changed(n_items, 0, 1) - def pop(self, key: str) -> Attribute | None: +class YourClass: + def pop(self, key: str) -> Union[Attribute, None]: if key not in self._inner: return None diff --git a/gsecrets/safe_element.py b/gsecrets/safe_element.py index 8bf1cc4b6..a1b9478dc 100644 --- a/gsecrets/safe_element.py +++ b/gsecrets/safe_element.py @@ -24,6 +24,7 @@ if typing.TYPE_CHECKING: from gsecrets.database_manager import DatabaseManager # pylint: disable=ungrouped-imports # noqa: E501 +from enum import Enum class EntryColor(Enum): NONE = "NoneColorButton" @@ -35,24 +36,18 @@ class EntryColor(Enum): PURPLE = "PurpleColorButton" BROWN = "BrownColorButton" - def to_translatable(self): # pylint: disable=too-many-return-statements - match self: - case EntryColor.NONE: - return _("White") - case EntryColor.BLUE: - return _("Blue") - case EntryColor.GREEN: - return _("Green") - case EntryColor.YELLOW: - return _("Yellow") - case EntryColor.ORANGE: - return _("Orange") - case EntryColor.RED: - return _("Red") - case EntryColor.PURPLE: - return _("Purple") - case EntryColor.BROWN: - return _("Brown") + def to_translatable(self): + translations = { + EntryColor.NONE: _("White"), + EntryColor.BLUE: _("Blue"), + EntryColor.GREEN: _("Green"), + EntryColor.YELLOW: _("Yellow"), + EntryColor.ORANGE: _("Orange"), + EntryColor.RED: _("Red"), + EntryColor.PURPLE: _("Purple"), + EntryColor.BROWN: _("Brown") + } + return translations.get(self, "") # Return translation or an empty string if not found class SafeElement(GObject.Object): -- GitLab