Skip to content

Commit 959459b

Browse files
πŸ“Œ ISSUE-#35: Updated settings
1 parent a34a293 commit 959459b

File tree

14 files changed

+95
-94
lines changed

14 files changed

+95
-94
lines changed

β€Ž.gitignoreβ€Ž

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,5 @@ cython_debug/
175175

176176

177177
# Dotflow
178-
.xpto
179178
.storage
180-
tests.py
179+
.dotflow-io

β€Ždotflow/__init__.pyβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
__version__ = "0.7.0"
44
__description__ = "🎲 Dotflow turns an idea into flow!"
55

6-
from .config import Config
6+
from .core.config import Config
77
from .core.action import Action as action
88
from .core.context import Context
99
from .core.dotflow import DotFlow

β€Ždotflow/cli/setup.pyβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from dotflow import __version__, __description__
66
from dotflow.log import logger
7-
from dotflow.config import Config
7+
from dotflow.settings import Settings as settings
88
from dotflow.core.utils.basic_functions import basic_callback
99
from dotflow.core.exception import (
1010
MissingActionDecorator,
@@ -50,7 +50,7 @@ def setup_start(self):
5050
self.cmd_start.add_argument("-c", "--callback", default=basic_callback)
5151
self.cmd_start.add_argument("-i", "--initial-context")
5252
self.cmd_start.add_argument("-o", "--output", default=False, action='store_true')
53-
self.cmd_start.add_argument("-p", "--path", default=Config.PATH)
53+
self.cmd_start.add_argument("-p", "--path", default=settings.INITIAL_PATH)
5454

5555
self.cmd_start.set_defaults(exec=StartCommand)
5656

β€Ždotflow/cli/validators/start.pyβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from pydantic import BaseModel, Field # type: ignore
66

7-
from dotflow import Config
7+
from dotflow.settings import Settings as settings
88

99

1010
class StartValidator(BaseModel):
@@ -13,4 +13,4 @@ class StartValidator(BaseModel):
1313
callable: Optional[str] = Field(default=None)
1414
initial_context: Optional[str] = Field(default=None)
1515
output: Optional[bool] = Field(default=True)
16-
path: Optional[str] = Field(default=Config.PATH)
16+
path: Optional[str] = Field(default=settings.INITIAL_PATH)

β€Ždotflow/config.pyβ€Ž

Lines changed: 0 additions & 43 deletions
This file was deleted.

β€Ždotflow/core/config.pyβ€Ž

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
"""Config module"""
2+
3+
from dotflow.core.utils import make_dir
4+
from dotflow.settings import Settings as settings
5+
6+
7+
class Config:
8+
9+
def __init__(
10+
self,
11+
path: str = settings.INITIAL_PATH,
12+
output: bool = False
13+
) -> None:
14+
self.path = path
15+
self.log_path = f"{path}/{settings.LOG_FILE}"
16+
self.output = output
17+
18+
make_dir(path=self.path, show_log=True)

β€Ždotflow/core/dotflow.pyβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from uuid import uuid4
44
from functools import partial
55

6-
from dotflow.config import Config
6+
from dotflow.core.config import Config
77
from dotflow.core.workflow import Workflow
88
from dotflow.core.task import TaskBuilder
99

β€Ždotflow/core/task.pyβ€Ž

Lines changed: 22 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,19 @@
44
from typing import Any, Callable, List
55

66
from dotflow.log import logger
7-
from dotflow.config import Config
7+
from dotflow.core.config import Config
88
from dotflow.core.action import Action
99
from dotflow.core.context import Context
1010
from dotflow.core.module import Module
1111
from dotflow.core.exception import MissingActionDecorator
1212
from dotflow.core.models.status import TaskStatus
13-
from dotflow.core.utils import (
14-
basic_callback,
15-
traceback_error,
16-
message_error
17-
)
13+
from dotflow.settings import Settings as settings
14+
from dotflow.core.utils import basic_callback, traceback_error, message_error, copy_file
1815

1916

2017
class TaskInstance:
2118

22-
def __init__(
23-
self,
24-
*args,
25-
**kwargs
26-
) -> None:
19+
def __init__(self, *args, **kwargs) -> None:
2720
self.task_id = None
2821
self.workflow_id = None
2922
self.step = None
@@ -45,15 +38,9 @@ def __init__(
4538
callback: Callable = basic_callback,
4639
initial_context: Any = None,
4740
workflow_id: UUID = None,
48-
config: Config = None
41+
config: Config = None,
4942
) -> None:
50-
super().__init__(
51-
task_id,
52-
step,
53-
callback,
54-
initial_context,
55-
workflow_id
56-
)
43+
super().__init__(task_id, step, callback, initial_context, workflow_id)
5744
self.config = config
5845
self.task_id = task_id
5946
self.workflow_id = workflow_id
@@ -72,10 +59,7 @@ def status(self):
7259
def status(self, value: TaskStatus) -> None:
7360
self._status = value
7461

75-
logger.info(
76-
"ID %s - %s - %s",
77-
self.workflow_id, self.task_id, value
78-
)
62+
logger.info("ID %s - %s - %s", self.workflow_id, self.task_id, value)
7963

8064
@property
8165
def error(self):
@@ -90,8 +74,10 @@ def error(self, value: Exception) -> None:
9074

9175
logger.error(
9276
"ID %s - %s - %s \n %s",
93-
self.workflow_id, self.task_id,
94-
self.status, task_error.traceback
77+
self.workflow_id,
78+
self.task_id,
79+
self.status,
80+
task_error.traceback,
9581
)
9682

9783
@property
@@ -117,10 +103,12 @@ def current_context(self, value: Context):
117103
if self.config.output:
118104
logger.info(
119105
"ID %s - %s - Current Context -> %s",
120-
self.workflow_id, self.task_id, str(value.storage)
106+
self.workflow_id,
107+
self.task_id,
108+
str(value.storage),
121109
)
122110

123-
self.config._log_transfer()
111+
copy_file(source=settings.LOG_PATH, destination=self.config.log_path)
124112

125113
@property
126114
def initial_context(self):
@@ -135,10 +123,12 @@ def initial_context(self, value: Context):
135123
if self.config.output:
136124
logger.info(
137125
"ID %s - %s - Initial Context -> %s",
138-
self.workflow_id, self.task_id, str(value)
126+
self.workflow_id,
127+
self.task_id,
128+
str(value),
139129
)
140130

141-
self.config._log_transfer()
131+
copy_file(source=settings.LOG_PATH, destination=self.config.log_path)
142132

143133
@property
144134
def config(self):
@@ -167,11 +157,7 @@ def __init__(self, error: Exception = None) -> None:
167157

168158
class TaskBuilder:
169159

170-
def __init__(
171-
self,
172-
config: Config,
173-
workflow_id: UUID = None
174-
) -> None:
160+
def __init__(self, config: Config, workflow_id: UUID = None) -> None:
175161
self.queu: List[Task] = []
176162
self.workflow_id = workflow_id
177163
self.config = config
@@ -180,7 +166,7 @@ def add(
180166
self,
181167
step: Callable,
182168
callback: Callable = basic_callback,
183-
initial_context: Any = None
169+
initial_context: Any = None,
184170
) -> None:
185171
step = Module(value=step)
186172

@@ -194,7 +180,7 @@ def add(
194180
callback=Module(value=callback),
195181
initial_context=initial_context,
196182
workflow_id=self.workflow_id,
197-
config=self.config
183+
config=self.config,
198184
)
199185
)
200186

β€Ždotflow/core/utils/__init__.pyβ€Ž

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22

33
from dotflow.core.utils.error_handler import traceback_error, message_error
44
from dotflow.core.utils.basic_functions import basic_function, basic_callback
5+
from dotflow.core.utils.tools import make_dir, copy_file
56

67

78
__all__ = [
89
"traceback_error",
910
"message_error",
1011
"basic_function",
11-
"basic_callback"
12+
"basic_callback",
13+
"make_dir",
14+
"copy_file"
1215
]

β€Ždotflow/core/utils/tools.pyβ€Ž

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"""Tools"""
2+
3+
import logging
4+
5+
from os import makedirs
6+
from shutil import copy
7+
8+
9+
def make_dir(path: str, show_log: bool = False):
10+
try:
11+
makedirs(name=path, exist_ok=True)
12+
except Exception as err:
13+
if show_log:
14+
logging.error(err)
15+
16+
17+
def copy_file(
18+
source: str,
19+
destination: str,
20+
show_log: bool = False
21+
) -> None:
22+
try:
23+
copy(src=source, dst=destination)
24+
except Exception as err:
25+
if show_log:
26+
logging.error(err)

0 commit comments

Comments
Β (0)