From 653dd7dc4c16171c30d2d33911b3de11bb019bf9 Mon Sep 17 00:00:00 2001 From: jackwotherspoon Date: Tue, 7 Jan 2025 17:53:13 +0000 Subject: [PATCH 1/2] refactor: use StrEnum over Enum --- google/cloud/sql/connector/enums.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/google/cloud/sql/connector/enums.py b/google/cloud/sql/connector/enums.py index 86556ed2..a0c4b5c5 100644 --- a/google/cloud/sql/connector/enums.py +++ b/google/cloud/sql/connector/enums.py @@ -14,14 +14,14 @@ from __future__ import annotations -from enum import Enum +from enum import StrEnum from google.cloud.sql.connector.exceptions import IncompatibleDriverError -class RefreshStrategy(Enum): - LAZY: str = "LAZY" - BACKGROUND: str = "BACKGROUND" +class RefreshStrategy(StrEnum): + LAZY = "LAZY" + BACKGROUND = "BACKGROUND" @classmethod def _missing_(cls, value: object) -> None: @@ -36,10 +36,10 @@ def _from_str(cls, refresh_strategy: str) -> RefreshStrategy: return cls(refresh_strategy.upper()) -class IPTypes(Enum): - PUBLIC: str = "PRIMARY" - PRIVATE: str = "PRIVATE" - PSC: str = "PSC" +class IPTypes(StrEnum): + PUBLIC = "PRIMARY" + PRIVATE = "PRIVATE" + PSC = "PSC" @classmethod def _missing_(cls, value: object) -> None: @@ -56,7 +56,7 @@ def _from_str(cls, ip_type_str: str) -> IPTypes: return cls(ip_type_str.upper()) -class DriverMapping(Enum): +class DriverMapping(StrEnum): """Maps a given database driver to it's corresponding database engine.""" ASYNCPG = "POSTGRES" From 35d9b98a604647f4b78f682efe2e86142f2decdf Mon Sep 17 00:00:00 2001 From: jackwotherspoon Date: Tue, 7 Jan 2025 18:05:37 +0000 Subject: [PATCH 2/2] chore: remove StrEnum --- google/cloud/sql/connector/enums.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/google/cloud/sql/connector/enums.py b/google/cloud/sql/connector/enums.py index a0c4b5c5..e6b56af0 100644 --- a/google/cloud/sql/connector/enums.py +++ b/google/cloud/sql/connector/enums.py @@ -14,12 +14,13 @@ from __future__ import annotations -from enum import StrEnum +from enum import Enum from google.cloud.sql.connector.exceptions import IncompatibleDriverError -class RefreshStrategy(StrEnum): +# TODO: Replace Enum with StrEnum when Python 3.11 is minimum supported version +class RefreshStrategy(Enum): LAZY = "LAZY" BACKGROUND = "BACKGROUND" @@ -36,7 +37,7 @@ def _from_str(cls, refresh_strategy: str) -> RefreshStrategy: return cls(refresh_strategy.upper()) -class IPTypes(StrEnum): +class IPTypes(Enum): PUBLIC = "PRIMARY" PRIVATE = "PRIVATE" PSC = "PSC" @@ -56,7 +57,7 @@ def _from_str(cls, ip_type_str: str) -> IPTypes: return cls(ip_type_str.upper()) -class DriverMapping(StrEnum): +class DriverMapping(Enum): """Maps a given database driver to it's corresponding database engine.""" ASYNCPG = "POSTGRES"