refactor: Update to StrEnum where possible

This commit is contained in:
Matthias
2026-02-10 07:14:16 +01:00
parent 51431d9533
commit 812f357d7e
10 changed files with 22 additions and 39 deletions
+2 -5
View File
@@ -1,7 +1,7 @@
from enum import Enum from enum import StrEnum
class CandleType(str, Enum): class CandleType(StrEnum):
"""Enum to distinguish candle types""" """Enum to distinguish candle types"""
SPOT = "spot" SPOT = "spot"
@@ -14,9 +14,6 @@ class CandleType(str, Enum):
FUNDING_RATE = "funding_rate" FUNDING_RATE = "funding_rate"
# BORROW_RATE = "borrow_rate" # * unimplemented # BORROW_RATE = "borrow_rate" # * unimplemented
def __str__(self):
return f"{self.name.lower()}"
@staticmethod @staticmethod
def from_string(value: str) -> "CandleType": def from_string(value: str) -> "CandleType":
if not value: if not value:
+2 -5
View File
@@ -1,7 +1,7 @@
from enum import Enum from enum import StrEnum
class MarginMode(str, Enum): class MarginMode(StrEnum):
""" """
Enum to distinguish between Enum to distinguish between
cross margin/futures margin_mode and cross margin/futures margin_mode and
@@ -11,6 +11,3 @@ class MarginMode(str, Enum):
CROSS = "cross" CROSS = "cross"
ISOLATED = "isolated" ISOLATED = "isolated"
NONE = "" NONE = ""
def __str__(self):
return f"{self.value.lower()}"
+2 -2
View File
@@ -1,6 +1,6 @@
from enum import Enum from enum import StrEnum
class OrderTypeValues(str, Enum): class OrderTypeValues(StrEnum):
limit = "limit" limit = "limit"
market = "market" market = "market"
+2 -2
View File
@@ -1,7 +1,7 @@
from enum import Enum from enum import StrEnum
class PriceType(str, Enum): class PriceType(StrEnum):
"""Enum to distinguish possible trigger prices for stoplosses""" """Enum to distinguish possible trigger prices for stoplosses"""
LAST = "last" LAST = "last"
+4 -9
View File
@@ -1,7 +1,7 @@
from enum import Enum from enum import StrEnum
class RPCMessageType(str, Enum): class RPCMessageType(StrEnum):
STATUS = "status" STATUS = "status"
WARNING = "warning" WARNING = "warning"
EXCEPTION = "exception" EXCEPTION = "exception"
@@ -25,21 +25,16 @@ class RPCMessageType(str, Enum):
NEW_CANDLE = "new_candle" NEW_CANDLE = "new_candle"
def __repr__(self): def __repr__(self):
return self.value # TODO: do we still need to overwrite __repr__? Impact needs to be looked at in detail
def __str__(self):
return self.value return self.value
# Enum for parsing requests from ws consumers # Enum for parsing requests from ws consumers
class RPCRequestType(str, Enum): class RPCRequestType(StrEnum):
SUBSCRIBE = "subscribe" SUBSCRIBE = "subscribe"
WHITELIST = "whitelist" WHITELIST = "whitelist"
ANALYZED_DF = "analyzed_df" ANALYZED_DF = "analyzed_df"
def __str__(self):
return self.value
NO_ECHO_MESSAGES = (RPCMessageType.ANALYZED_DF, RPCMessageType.WHITELIST, RPCMessageType.NEW_CANDLE) NO_ECHO_MESSAGES = (RPCMessageType.ANALYZED_DF, RPCMessageType.WHITELIST, RPCMessageType.NEW_CANDLE)
+2 -2
View File
@@ -1,7 +1,7 @@
from enum import Enum from enum import StrEnum
class RunMode(str, Enum): class RunMode(StrEnum):
""" """
Bot running mode (backtest, hyperopt, ...) Bot running mode (backtest, hyperopt, ...)
can be "live", "dry-run", "backtest", "hyperopt". can be "live", "dry-run", "backtest", "hyperopt".
+2 -5
View File
@@ -1,4 +1,4 @@
from enum import Enum from enum import Enum, StrEnum
class SignalType(Enum): class SignalType(Enum):
@@ -27,9 +27,6 @@ class SignalTagType(Enum):
return f"{self.name.lower()}" return f"{self.name.lower()}"
class SignalDirection(str, Enum): class SignalDirection(StrEnum):
LONG = "long" LONG = "long"
SHORT = "short" SHORT = "short"
def __str__(self):
return f"{self.name.lower()}"
+2 -5
View File
@@ -1,7 +1,7 @@
from enum import Enum from enum import StrEnum
class TradingMode(str, Enum): class TradingMode(StrEnum):
""" """
Enum to distinguish between Enum to distinguish between
spot, margin, futures or any other trading method spot, margin, futures or any other trading method
@@ -10,6 +10,3 @@ class TradingMode(str, Enum):
SPOT = "spot" SPOT = "spot"
MARGIN = "margin" MARGIN = "margin"
FUTURES = "futures" FUTURES = "futures"
def __str__(self):
return f"{self.name.lower()}"
+2 -2
View File
@@ -1,5 +1,5 @@
from datetime import UTC, datetime from datetime import UTC, datetime
from enum import Enum from enum import StrEnum
from typing import ClassVar, Literal from typing import ClassVar, Literal
from sqlalchemy import String from sqlalchemy import String
@@ -11,7 +11,7 @@ from freqtrade.persistence.base import ModelBase, SessionType
ValueTypes = str | datetime | float | int ValueTypes = str | datetime | float | int
class ValueTypesEnum(str, Enum): class ValueTypesEnum(StrEnum):
STRING = "str" STRING = "str"
DATETIME = "datetime" DATETIME = "datetime"
FLOAT = "float" FLOAT = "float"
+2 -2
View File
@@ -5,7 +5,7 @@ PairList Handler base class
import logging import logging
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from copy import deepcopy from copy import deepcopy
from enum import Enum from enum import StrEnum
from typing import Any, Literal, TypedDict from typing import Any, Literal, TypedDict
from freqtrade.constants import Config from freqtrade.constants import Config
@@ -58,7 +58,7 @@ PairlistParameter = (
) )
class SupportsBacktesting(str, Enum): class SupportsBacktesting(StrEnum):
""" """
Enum to indicate if a Pairlist Handler supports backtesting. Enum to indicate if a Pairlist Handler supports backtesting.
""" """