Skip to content

Commit 5eec6c9

Browse files
⚙️ FEATURE: Data type improvement
1 parent 4994c2a commit 5eec6c9

File tree

8 files changed

+48
-20
lines changed

8 files changed

+48
-20
lines changed

dotflow/abc/logs.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
"""Logs ABC"""
22

33
from typing import Literal
4-
from enum import StrEnum
54

65
from abc import ABC, abstractmethod
76

7+
from dotflow.core.types.enum import StrEnum
8+
89

910
class TypeLog(StrEnum):
1011

dotflow/core/types/enum.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
"""Enum Type module"""
2+
3+
import sys
4+
5+
from enum import Enum
6+
7+
8+
class StrEnumType(str, Enum):
9+
...
10+
11+
12+
if sys.version_info >= (3, 11):
13+
from enum import StrEnum as StrEnum
14+
else:
15+
StrEnum = StrEnumType
16+
17+
18+
__all__ = ["StrEnum"]

dotflow/core/types/execution.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
"""Execution Mode Type module"""
22

3-
from enum import StrEnum
43
from typing import Literal
54

5+
from dotflow.core.types.enum import StrEnum
6+
67

78
class ExecutionModeType(StrEnum):
89
"""

dotflow/core/types/status.py

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
"""Status Task Type module"""
22

3-
from enum import StrEnum
43
from typing_extensions import Literal
54

5+
from dotflow.core.types.enum import StrEnum
6+
67

78
class StatusTaskType(StrEnum):
89
"""
@@ -19,18 +20,6 @@ class StatusTaskType(StrEnum):
1920
RETRY = "Retry"
2021
FAILED = "Failed"
2122

22-
@classmethod
23-
def get_symbol(cls, value: str) -> str:
24-
status = {
25-
StatusTaskType.NOT_STARTED: "⚪",
26-
StatusTaskType.IN_PROGRESS: "🔵",
27-
StatusTaskType.COMPLETED: "✅",
28-
StatusTaskType.PAUSED: "◼️",
29-
StatusTaskType.RETRY: "❗",
30-
StatusTaskType.FAILED: "❌"
31-
}
32-
return status.get(value)
33-
3423

3524
TYPE_STATUS_TASK = Literal[
3625
StatusTaskType.NOT_STARTED,

dotflow/core/types/storage.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
"""Storage Type module"""
22

3-
from enum import StrEnum
43
from typing import Literal
54

5+
from dotflow.core.types.enum import StrEnum
6+
67

78
class StorageType(StrEnum):
89
"""

dotflow/core/types/worflow.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
"""Workflow Status Type module"""
22

3-
from enum import StrEnum
43
from typing import Literal
54

5+
from dotflow.core.types.enum import StrEnum
6+
67

78
class WorkflowStatusType(StrEnum):
89
"""
@@ -21,4 +22,4 @@ class WorkflowStatusType(StrEnum):
2122
WorkflowStatusType.NEW,
2223
WorkflowStatusType.IN_PROGRESS,
2324
WorkflowStatusType.COMPLETED
24-
]
25+
]

dotflow/providers/notify_telegram.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@
1010
from dotflow.logging import logger
1111

1212

13+
def get_symbol(value: str) -> str:
14+
status = {
15+
StatusTaskType.NOT_STARTED: "⚪",
16+
StatusTaskType.IN_PROGRESS: "🔵",
17+
StatusTaskType.COMPLETED: "✅",
18+
StatusTaskType.PAUSED: "◼️",
19+
StatusTaskType.RETRY: "❗",
20+
StatusTaskType.FAILED: "❌"
21+
}
22+
return status.get(value)
23+
24+
1325
class NotifyTelegram(Notify):
1426

1527
MESSAGE = "{symbol} {status}\n```json\n{task}```\n{workflow_id}-{task_id}"
@@ -50,7 +62,7 @@ def send(self, task: Any) -> None:
5062

5163
def _get_text(self, task: Any) -> str:
5264
return self.MESSAGE.format(
53-
symbol=StatusTaskType.get_symbol(task.status),
65+
symbol=get_symbol(task.status),
5466
status=task.status,
5567
workflow_id=task.workflow_id,
5668
task_id=task.task_id,

dotflow/types.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
"""Types module"""
22

3+
from dotflow.core.types.execution import ExecutionModeType
34
from dotflow.core.types.status import StatusTaskType
45
from dotflow.core.types.storage import StorageType
6+
from dotflow.core.types.worflow import WorkflowStatusType
7+
58

69
__all__ = [
10+
"ExecutionModeType",
711
"StatusTaskType",
8-
"StorageType"
12+
"StorageType",
13+
"WorkflowStatusType"
914
]

0 commit comments

Comments
 (0)