From dac08324e51aadc6d82fd6bbc22c871071be3b9c Mon Sep 17 00:00:00 2001 From: Duc Le Tu Date: Wed, 19 Jun 2024 10:50:47 +0700 Subject: [PATCH] Update streams.py support python3.11 https://github.com/python/cpython/issues/100458 https://github.com/python/cpython/issues/84247 --- .../source_tiktok_marketing/streams.py | 47 ++++++++++++++----- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/airbyte-integrations/connectors/source-tiktok-marketing/source_tiktok_marketing/streams.py b/airbyte-integrations/connectors/source-tiktok-marketing/source_tiktok_marketing/streams.py index e42a67f25602..278bf78e62d6 100644 --- a/airbyte-integrations/connectors/source-tiktok-marketing/source_tiktok_marketing/streams.py +++ b/airbyte-integrations/connectors/source-tiktok-marketing/source_tiktok_marketing/streams.py @@ -7,7 +7,10 @@ from abc import ABC, abstractmethod from datetime import datetime from decimal import Decimal -from enum import Enum +if sys.version_info >= (3, 11): + from enum import StrEnum +else: + from enum import Enum from functools import total_ordering from typing import Any, Dict, Iterable, List, Mapping, MutableMapping, Optional, Tuple, TypeVar, Union @@ -141,21 +144,39 @@ def __lt__(self, other): return self.current_stream_state < other -class ReportLevel(str, Enum): - ADVERTISER = "ADVERTISER" - CAMPAIGN = "CAMPAIGN" - ADGROUP = "ADGROUP" - AD = "AD" +if sys.version_info >= (3, 11): + class ReportLevel(StrEnum): + ADVERTISER = "ADVERTISER" + CAMPAIGN = "CAMPAIGN" + ADGROUP = "ADGROUP" + AD = "AD" -class ReportGranularity(str, Enum): - LIFETIME = "LIFETIME" - DAY = "DAY" - HOUR = "HOUR" + class ReportGranularity(StrEnum): + LIFETIME = "LIFETIME" + DAY = "DAY" + HOUR = "HOUR" - @classmethod - def default(cls): - return cls.DAY + @classmethod + def default(cls): + return cls.DAY + +else: + + class ReportLevel(str, Enum): + ADVERTISER = "ADVERTISER" + CAMPAIGN = "CAMPAIGN" + ADGROUP = "ADGROUP" + AD = "AD" + + class ReportGranularity(str, Enum): + LIFETIME = "LIFETIME" + DAY = "DAY" + HOUR = "HOUR" + + @classmethod + def default(cls): + return cls.DAY class Hourly: